Weird issue when upgrading to 5.12 - errors re deleting a payment processor type

The recent civi upgrade tries to disable some obsolete extensions during the process. This functionality was added in https://github.com/civicrm/civicrm-core/pull/13298

And from the comment posted at https://github.com/civicrm/civicrm-core/pull/13298#issuecomment-462961558, it seem it do provides a list of extensions that will be disabled.

The above error seems to be triggered when an extension related to payment processor type is disabled which in turn tries to remove the payment processor type attached to it.

Not completely sure, but this is what it seems from the backtrace shown.

UPDATE -it looks like there are 4 noted extensions which are checked by the above PR during the upgrade process.

uk.squiffle.kam, com.aghstrategies.slicknav, de.systopia.recentitems, and com.ixiam.modules.quicksearch.

If any of the extension is present on the site, it will try to disable them which throws the error on upgrade.

Note that none of these extensions are related to any payment processor.

So, it must be something in your DB which mismatches with the expected values resulting into this error. Would recommend disabling these extensions manually before starting an upgrade process.


Ideally this means, that there was an error in the smtp transaction: https://docs.civicrm.org/sysadmin/en/latest/setup/civimail/inbound/

However, this bounce type is also used for all bounces that could not be classified as one of the other types. Your best bet to actually find out what is going on is to look at the bounce reason in the bounce report or, if thats still not helpfull enough, to have a look into the actual mailbox.


Drupal custom module civicase is creating but it is returning null value?

This may be a permissions issue, depending on who is the logged-in user when your code runs and whether they have permission to create cases. If you want your code to run anyway regardless of who is logged-in, you could add 'check_permissions' => FALSE to your api $params.


How to remove transfer or cancel message from event confirmation emails.

Found it.
Message templates > System Workflow Messages > Events (receipt only).
Modify the lines on the bottom of HTML Format.


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

Out of curiosity, who's hosting your site?


How to disable or fix the wysiwyg editor on civimail

Editing markup

The editor includes a "Source" button which can be used to edit markup directly.

Using <textarea>

Upgrade to v4.7!

In depth

CiviCRM v4.6 includes a pure-JS rewrite of the CiviMail frontend. Unfortunately, the old WYSIWYG abstraction couldn't adapt well to pure-JS, so CiviMail in v4.6 only supports one editor. (Specifically, CiviMail uses the crmUiRichtext directive which is hardcoded to CKEditor.) However, all other screens still use the old WYSIWYG abstraction.

v4.7 cleans things up by switching to a pure-JS WYSIWYG abstraction. The core ships with only two options (CKEditor and <textarea>). However, you can write an extension that defines alternatives (e.g. https://civicrm.org/extensions/tinymce ).

See also: https://civicrm.org/blogs/colemanw/big-changes-wysiwyg-editing-47


Update from 5.4 to 5.36.1 : problem to Update smart groups to rename filters on case_from and case_to to case_start_date and case_end_date

Those upgrade steps are updating particular fields in smartgroups.  If you don't have any smart groups using those fields, it won't matter... but if those steps are failing it suggests you do have affected smart groups and those won't work correctly.  You could delete those groups and recreate them.
But the underlying question is why is the upgrade hitting problems?  If for example the field renames have failed, that will cause you more trouble in the future.  I suggest you post the errors from the logs for the failing upgrade steps so we can diagnose the cause.


Security Warning on Dashboard (pantheon / nginx)

Pantheon does not support .htaccess files nor custom location directives, which are the common approaches to protecting those files from access on Apache / Nginx.

However, moving your CiviCRM file directories from sites/default/files/civicrm to sites/default/private/civicrm should resolve this, because Pantheon protects that location out of the box.

See Drupal.org #2195947 - Security warning from Civi re exposed "files" directory for how this is addressed in CiviCRM StarterKit.

You will need to end up with something like this in your civicrm.settings.php, the linked issue above gives the required context needed to ensure $pantheon_conf contains appropriate values.

  global $civicrm_setting;
  $civicrm_setting['Directory Preferences']['uploadDir'] = '/srv/bindings/' . $pantheon_conf['pantheon_binding'] . '/files/private/civicrm/upload/';
  $civicrm_setting['Directory Preferences']['customFileUploadDir'] = '/srv/bindings/' . $pantheon_conf['pantheon_binding'] . '/files/private/civicrm/custom/';
  $civicrm_setting['Directory Preferences']['imageUploadDir'] = '/srv/bindings/' . $pantheon_conf['pantheon_binding'] . '/files/private/civicrm/persist/contribute/';
  $civicrm_setting['Directory Preferences']['extensionsDir'] = '/srv/bindings/' . $pantheon_conf['pantheon_binding'] . '/code/sites/all/extensions/';
  $civicrm_setting['URL Preferences']['extensionsURL'] = $base_url . '/sites/all/extensions';

See also the relevant CiviCRM security advisory, CIVI-SA-2014-001 Risk of information disclosure. Moving the restricted files outside the webroot entirely would be the ideal solution if/when CiviCRM supports that.


What Civicrm Theme(s) are better than Garland?

Bright and clean: I use Seven (ships with Drupal 7 Core - so well supported) as CiviCRM Administration theme - for nearly all of our projects. Easy to subtheme as well - making it a MySeven - if/when required.


Webform: "not you" message - I can't find it!

In the CiviCRM section of your webform, the third section down is "Not You?" Message. There's a check box there for "Display message to known contacts?"


How Do I Get a CiviCRM Report to be an attachment in a schedule job to email to a colleague?

One of the scheduled job parameters is "format". See https://docs.civicrm.org/user/en/latest/initial-set-up/scheduled-jobs/#job_mail_report


Does Price Set for Memberships also allow for Recurring on a Donation

I think this is resolved in our case by not using Price Set now that I twigged that the 'financial type' setting on the Contribution page ONLY affects the Donations, while it is the 'financial type' setting on the Membership Type that takes care of the other.

  If you are using this contribution page for membership signup and renewals, the financial type configured in the membership type settings will be used when recording the membership payment. The financial type selected here will only be used if you are also collecting additional contributions (as configured on the Membership Settings page).

So the outcome is

recurring donations work
donations get recorded as 'donation' financial type
memberships get recorded as 'membership' financial type


You don't say what version of anything you are running, or if you upgraded or did a new install.  If this is a 4.7 upgrade, I had similar issues and had to resort to installing and using the WP-CLI method.  If you go that route, you probably also want to take a look at this:
WP-CLI using GMT/UTC Timezone on cron jobs


There is detailed documentation here https://docs.civicrm.org/user/en/latest/common-workflows/deduping-and-merging/

If you have your contacts in a Search result, then you can click on them both, and under ACTIONS find Merge Contacts which will take you to a page with url like

civicrm/contact/merge?reset=1&cid=112&oid=144

so the other option is to just paste that in to your url, change the to ids (ie the cid and the oid) and that will give you the screen with the two contacts ready to merge.

At that point you will have a 'flip' button if you want to merge the other way round.

Then repeat for the remaining two.

Note merging records with Membership data does not 'merge' that data, it can 'add' the membership records from one to the other - but you may need to manually adjust the start or end dates if you want to end up with just a single member record.

Also, for future, you should read up about Dedupe Rules and see if you can set this up to help avoid this situation. the other thing to note is if you are sending renewal reminders (manually or via Scheduled Reminders) and use a checksum then it helps avoid this situation as the link temporarily logs the contact in so there is no option to create a duplicate.

hope that helps.


Happy CiviDay (well in NZ it is)

take a look at the Front End Page Options extension that Fuzion developed previously.

Note the requirement for the Entity Setting extension

Let us know how you get on and which Civi version you try it with.


Creating Event Participation Certificate in PDF

If you’re on Drupal then you can do this with Views Integration -> here is a tutorial with steps and screenshots on how to create a downloadable Hogwarts Certificate:
How can Members download their own Membership Certificate/Card?
Instead of pulling in Membership data -> pull in Event/Participant data and status.


CiviMail not sending emails - Joomla 3.6 or 3.7 & Civi 4.7.18

It's not easy to get it working properly indeed.

Sending a "normal" email and civimails follow a different path. The former is simple: you call the "send an email" you configured (usually the mail() function, but can be configured, eg to use smtp directly), wait until it's done and that's it.

This doesn't scale and if you aim, like civimail does, at sending lots of emails, you need to queue these emails, possibly split them in separate batches and have a cronjob that process them in the background to send these emails

And were it becomes even more complicated is that you have a lot of different ways to run that cronjob, because civicrm aims at serving a lot of different configurations.... and each have lots of opportunities to have something not working.

As you are using joomla, the "common solution" we use (drush) isn't an option. You do not detail your system, do you:

have access to the command line (ssh)
can set up cronjobs
have php-cli installed and with the same configuration as the php used for your server?

You haven't described enough how have configured CiviCRM. If this is not how you are using it, could edit your question and add these details and what you get if you run

path/to/php /path/to/civcrm/module/bin/cli.php -s site -u user -p password -e Job -a execute

As described: https://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs


How do you display custom Contact fields in Membership reports?

If you can open the report file from your codebase, you can add the entity name to the _customGroupExtends variable array initialized at the top of the file of almost every report in CiviCRM.

protected $_customGroupExtends = array('Contact');

The above line will include all contact custom set in your report. You can add Individual, Membership to display custom group extending these entities too.

To see which file is used for the report, you can refresh the result to get a Developer tab which contains the class name used to display the result.

So the file which is used in above report is -

/path_to_civicrm/CRM/Report/Form/Member/Detail.php


Steve - there is not a Dashboard per se just for Contacts as there is for Contributions etc. If there was, what would it be showing in your opinion in case that clarifies your question enough to point you to what does exist.


Email a user when they are assigned as case manager?

For sending a message to new case managers - I would suggest using Scheduled Reminders.

Create a new group "Case Managers". Add all case managers to the group.
Set a Scheduled Reminder on "Activity" of type "Open Case".
Limit recipients to members of the group "Case Managers".

With regard to the tokens - there has been recent work to support case tokens on activities.  See CRM-19767 and the accompanying casetokens extension.  Note that I'm not sure that this will extend the functionality to Scheduled Reminders - but if it doesn't, I imagine it will get a coder 80% of the way there.


You can create an extension based on report template using Civix

please refer to the link
https://wiki.civicrm.org/confluence/display/CRMDOC/Create+a+Report-Template+Extension

Also the image which you have attached is not very clear..


Feature request: Make Checksum tokens easier to use

These two extensions should assist -

https://civicrm.org/extensions/contact-checksum-ui
https://civicrm.org/extensions/fancy-tokens

The second extension provides tokens for all active contribution pages and active events with online registration enabled.


How to restrict the Donors to have limited functions of CiviCRM?

It sounds like most of what you want you can do via your CMS permissions to give them access to their Dashboard but not to CiviCRM itself


Invalid value for field(s) : Start Date 01/25/2021. I have also tried with 2021-01-25

It depends on the date format you have selected on Import Membership form when you try to upload the import file


Can I track grants against contributions?

CiviGrant is not sync'd with CiviContribute in current CiviCRM version. You will need to build an entity that will link CiviGrant with CiviContribute or use Financial Accounts(linked with Financial type).

This look like nice feature. I am happy to build an extension for this if you willing to sponsor.


How can I see a piechart breakdown of contributions by financial type this year?

Have you tried civisualize? the contribution dataviz got you covered


You can proceed with the below steps -

Create a pay later contribution page for membership.
Let user register for membership using pay later. So Each Membership here would have a pending status.
Create a searchable custom field for Contribution Eg Approved? with Yes No Field values.
Set this to yes on editing contribution record for those you want to approve.

Completing the Pending Payment (If you're using above 4.7 version)-

Navigate to Administer -> CiviContribute -> CiviContribute Component Settings (civicrm/admin/setting/preferences/contribute?reset=1).
Check Enable Deferred Revenue option and set the Default invoice payment page. Record its page id(you can find it in Manage Contribution Pages where ids are shown for all of them).
From Find Contribution search for all whose Approved field is set to yes.
Select an action to send them an email mentioning the following URL.

http://<site_name>/civicrm/contribute/transact?reset=1&id={page_id_from_step_2}&ccid={contribution_id_token}

Using this url, users will be able to complete their payment and Pending Membership would be updated to New.


What should drush cvapi NotificationLog.retry sequential=1 system_log_id=XXX do?

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


The Group Price Extension states that it

  allows you to limit the display of individual prices in price sets to specific groups. This can be used to implement members-only pricing for events, as well as other use cases.


CiviMail does not use the editor set in 'Display Preferences'

You didn't mention the path to the config.js that you're editing, which I think will help people answer your question.

However, my guess is that you are installing Civi using the Roundearth plugin, because that would account for you having two different config.js files. I'm also guessing you're editing the file at <projectroot>/vendor/civicrm/civicrm-core/bower_components/ckeditor.  There's a second config.js at <projectroot>/web/libraries/civicrm/bower_components/ckeditor.  Hopefully this is enough to help you solve your problem.


How to remove the dummy contacts from the default contact DB

I assume you have loaded the sample data and you want to get rid of those? If that is the case, best advice is re-install WITHOUT loading the sample data. If you have loaded the sample data, you do not only have contacts but also cases, contributions, pledges, activities, events etc. and some configuration.


Tracking/Reporting Invitees vs Attendees (CiviEvent)

You could create custom Event participant Status called Invited. In the settings set the Class to Waiting and leave the Counted checkbox unchecked. When you mail out the invitations register all the people to the Event with the status of Invited. As you receive the confirmations go in and set each to attended. Then you can do Event reports based on who has attended or not.


In looking at this further, it appears on any external call or via cron, in version 4.7.0 CiviCRM looked for the settings file ONLY in the directory wp-content/plugins/civicrm if the CMS was WordPress.

In 4.7.1, this was changed to look in both '//uploads/civicrm' and '//plugins/civicrm'

Therefore on 4.7.0 with the civicrm.settings.php file in wp-content/uploads/civicrm you could get the failure on cron that you describe.

I would try updating to CiviCRM 4.7.1


Is there a way to open the honoree section by default?

That will require a small bit of code -> javascript (to check that box on load of the form).


Make the Contact create API behave like UI in the way in checks for duplicates

I did some research in the code. When you use the contact API, the default Unsupervised rule for the Contact Type. This rule is configurable in the Contacts -> Find and Merge Duplicate Contacts screen.

Update: The contact has another option. You can use the duplicatecheck method. But it cannot be tested in the API explorer. The following code returns the contact_ids found deduplication rule 4 (Checking on email for Individuals).

$result = civicrm_api3('Contact', 'duplicatecheck', array(
     'return' => array("display_name"),
     'dedupe_rule_id' => 4,
     'check_permission' => FALSE,
     'match' => array(
        'contact_type' => 'Individual',
        'email'        => 'blue@example.com'
  )
));


Is there a size limit on attachments in CiviMail?

The maximum file size attachment can be set under  Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.). Navigate to CiviCRM >> Administer >> System Settings >>  Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.). Try after updating the maximum file size.

HTH

Pradeep


Joomla loadmodule or loadposition inside CiviCRM

I don't think that you can do that, at least not without programming. Event descriptions and profile intro fields are rendered by CiviCRM, not Joomla, and CiviCRM does not process Joomla plugins.

If you have the event page linked to a Joomla menu item then of course you can display a module elsewhere on the page (outside of the CiviCRM-generated content).


1.Check if the actual mapping is saved - /civicrm/admin/mapping?reset=1

(Tip – Mappings only get saved/updated once you physically hit the export button)

2.The use a saved field mapping, the drop down will only appear if you select the “Select fields for export"


Couldnt see Civicrm plugin when logged in as wordpress subscriber/editor and other roles

You need to set the ACL permissions for the specific roles in CiviCRM. Go to 'Administer>Users and Permissions>Permissions (access control)' then click on 'WordPress Access Control'. Here is where you can set specific permissions for user roles. The permission to provide access to CiviCRM in the back end is 'CiviCRM: access CiviCRM'. You will probably need to set many other permissions for these users depending on what you want them to have access to.


I am unaware of a way to turn on test data as you put it but here are some work arounds.

To find test the records, in searches (advanced search, membership search etc) there is a field "Membership is a Test" by default this is set to No but if you want to find test record such as the one specified above you can switched this to Yes.

Another option, if the reason you are using test mode is to test a payment processor without spending money and this site is just for testing then I would put in your test processor details into the live payments section for you payment processor. Then you can run "Live" actions but not spend money. You can always change these details back afterward.


There is so much old stuff on the interweb.... D8 and CiviEntities / Calendar integrations?

Did you try installing and configuring Event Calendar extension? It provides UI to configure the calendar and these calendar can be exposed in front end as well. You read the installation guide on how to setup a calendar for your site.


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

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

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

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

Documentation


The hosting company sent me this instruction. It worked, and I'm back in business!

  "You need to add this in your .htaccess file to avoid problem, it is
  caching related:"
   php_flag opcache.enable Off


You can't have a text box to choose membership amount but there are two ways as a workaround

Create a price set with required pricefields
a) Select or Radio button with Membership as 0 fees
b) Add text price field with $1 amount.

Make membership type fee as 0 and include contribution amount section on contribution page


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

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

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

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

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


Anyone else having trouble with API Explorer v4

Im replicating your API4. I'm testing this on the same set up. Works fine here. Only diff is Im using the Shoreditch theme.

Perhaps you need to do a reinstall or clear caches?


How to set a constant value for a field in webform (eg the prefered language)?

What I found is:

add the field needed (eg. preferred field)
go on form components and edit that field to enable only the option wanted (eg. spanish) and set it as the default
set the widget as "hidden"

It's not bullet proof, as in theory, the visitor can still use tools like firebug and alter that field


After updating civi 4.6.15 to 4.6.16 no access to contacts

I looks like CRM-18567 and CRM-18504

Have a look at Chris Burgess comment, there are couple of commits that seem to fix the issue.

https://github.com/fuzionnz/civicrm-core/commit/a0bcc16171d2f30c4416aeec079bab56c313390a
https://github.com/fuzionnz/civicrm-core/commit/d3e9ab21a0f2256197125854fe6312c3fa0c8c8a

I would recommend to create a backup or replicate your installation in a development environment, apply the commits mentioned and check if it solves the issue.


For some reason, I didn't receive a notification on the ldap github repo, thanks to raise it here!

I answered on the issue in github, let's follow there?

I never tried civildap on wordpress, I don't know if it's why it has some issue. To exclude some potential sources of the problem, could you change your config file and put:

settings.civicrm.action = "get"


(Stripe) CRM_Core_Payment_Manual::setAPIParams() Fatal Error

Gonna mark this as answered, for now, as I've logged it as an extension issue.

The core of the problem, just FYI, seems to be that the auto-webhook process is failing (it appears to work, and a webhook does indeed appear on the Stripe dashboard, but the errors persist and I'm hoping that the real weirdness (the additional $200) is at least related to this.


Use Create Mode Profile - Selection fields shown twice

This sounds like a theme related issue and if you try a more standard Joomla theme for the civicrm pages then you might find the problem disappears in which case you then know that you need to either switch theme or resolve some css issues.


Network Error - Unable To Reach The Server - Change Payment Details on Recurring Contributions

This is from a bug introduced in 4.6.x series, fixed in 4.6.9, as per

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

Solution: update CiviCRM to the most recent 4.6.x


WordPress - user record URL doesn't show for one user. Can't see why?

I've seen this happen when there are multiple WordPress accounts using the same email address.

These values are stored in the civicrm_uf_match table of the database.  If my first suggestion doesn't pan out, you may want to browse that table and look for duplicate values for contact_id and uf_id (the "WordPress user id") corresponding to this user.  Delete the offending record(s) in this table and let CiviCRM recreate them.


Webform-Civicrm issue on iPhone and Safari Browser

It seems to be a problem specific to Stripe and Webform. I opened an issue on Gitlab.


This sounds like it's the same problem described here.

While the solutions there suggest hacks to the code, most likely you're either a) connecting to a mail server that has a self-signed certificate, or b) your CiviCRM is installed on a server with an outdated list of CAs.  Fixing the root problem is preferable.  Let's Encrypt issues free SSL certificates in case your problem is the former one.


Mmm... Unless I'm mistaking your intention, this should be very easy to do with a webform, if you are using Drupal with Civicrm and the Civicrm webform integration module.

As far as I know, if your email asks them to go to your webform by clicking a link that contains the 'contact hash' token, then when they get to the webform it will be prefilled with their details.

In the Civicrm section of the webform config screens you can choose which Civicrm info to include, and also whether to add the user to a Civicrm group when the form is submitted. (You'd need to make your group in Civi before configuring this part of the webform.)

Then the user simply clicks 'submit' and they will be added to your group.

Hope I've got the right end of the stick here and that this is helpful.


Based on replies here this is the solution.
Hosting support assured me:
Package alt-php72-xml-7.2.20-2.el6.x86_64 already installed and latest version

Then I enabled wordpress debugging, and found that the package 'GD' was required, so I enabled that in cPanel. PDF printing is now working!


Blank civicrm?page=CiviCRM&q=civicrm/contribute/transact&reset=1 live contribution page wordpress

By testing on the wpmaster.demo.civicrm.org site and going to what i take it is the public version of the contribution page at eg

  http://wpmaster.demo.civicrm.org/civicrm/?page=CiviCRM&q=civicrm/contribute/transact&reset=1&id=4

I do not get a blank page which suggests several things including that it isn't broken on dmaster.

Some possible things to try

switching WP themes
using Inspect to compare output on demo v your site

Not sure how much either will help as not a WP specialist


Pull data from Drupal entity reference field into CiviCRM?

One possibility would be to use views module to create a view that displays auction package nodes, with a contextual filter for the contribution reference field. Then you provide a block display and configure the block to show on contribution pages; it should show the package that is referencing that contribution.

This doesn't pull any Drupal entity data into the CiviCRM database, but it should allow you to display the entity data for the auction package that is referencing the contribution.

Often times it is ideal to keep the Drupal entities in Drupal and the CiviCRM entities in CiviCRM and connect them using reference fields. You should still be able to display them side by side on the same page (using Views) in virtually any context or use-case.


Why does the Preview as HTML in civimail not apply the html that has been applied to the footer

Check this out: https://issues.civicrm.org/jira/browse/CRM-17726

Contents in the body tag get deleted on load. When you resave they get nuked.


You could include the joining fee in the membership fee, and then give an automatic discount (joining fee amount) for renewals (requires testing).

Or, some custom code could be written to remove the joining fee field/amount if the user is a member.

In both these scenarios the user will need to be logged in.


Membership renewal notices are controlled by Scheduled Reminders. You can set these up here under 'Administer>Communications>Scheduled Reminders'.

The documentation is here:
https://docs.civicrm.org/user/en/latest/email/scheduled-reminders/#using-scheduled-reminders-for-memberships

With regards to your monthly recurring members you can choose to not send renewal reminders to that particular member type. There is also the following option 'Renewal Reminder (no-auto-renew memberships only)'.

You want to make sure you have the scheduled job 'Send Scheduled Reminders' enabled ('Administer>System Settings>Scheduled Jobs') and a cron job setup to run your scheduled jobs. You can find more info here:
https://docs.civicrm.org/user/en/latest/initial-set-up/scheduled-jobs/

Hope this helps.


Can not add both Individual and Organisation to case

I too had this problem. What worked for me is modifying the Contact Type A and Contact Type B to All Contacts in the Relationship section (administer---customise data and screens---relationship types) Remember to do it for any Case Related Roles e.g. the Case Manager. I was then able to select the organisation type. I have set it up so a User can submit the case as the Original Submitter but the case is assigned to the Organisation so multiple users can submit cases but they get organised to the Same Organisation which makes it easy to keep track. Hope this helps.


Can the External ID have multiple values

The External ID field isn't just a regular field--it allows matching by ID alone.  It would be a waste to have External ID be concatenated fields, for a couple of reasons:

You can't search easily.  If you have a contact with an ID from System 1 of "123" and an ID from System 2 of "789", and you concatenate with a "|", you'd have a value of "123|789".  If you search for an External ID of "%123%", you'd catch "123|789" as well as "222|123" (i.e. the record with ID 123 in System 2) and "1123|789" (i.e. any ID with those digits in order, regardless of position).
You lose auto-matching on import.  If you're doing a later import from the external system, you won't be able to identify the External ID and have it match.  You'll need to use a matching rule or the CiviCRM ID.  This makes it no better than a regular custom field.
You may have trouble importing in the first place.  If you're importing from System 1, you'll know that system's external ID, but you might not know the corresponding contact's ID in System 2.  You'd need to do some spreadsheet tricks like Joe suggests, and you'd have to match up the two systems' records in the spreadsheet before you even start.
You'll never be able to merge records reliably.  If Sammy is ID 123 in System 1 and Samuel is ID 789 in System 2, you might not catch that they're the same guy.  They might end up as separate contacts in CiviCRM, but when you merge them, you'll only be able to concatenate the IDs by remembering the one that gets lost and going back to edit the External ID manually.

All in all, there's no advantage to cramming multiple values into the External ID field, and it has distinct disadvantages (merging and searching, in particular) as compared to regular custom fields.  You should simply decide that one system's ID is the External ID and the others are custom fields.  If it would be ambiguous, make them all custom fields; that's still better than mixing up the External ID field.


How do I send a scheduled mailing via CiviMail?

Mailings run from a cron job on the server, so submitting immediately does not immediately start the mail sending,  it sends the next time the bulk mail processor task runs.

If the mailing is still not sending in an hour or so...

Go to Scheduled jobs (Administer>System Settings> Schduled Jobs)
And check that the Mailings scheduler job is enabled.

If it is enabled, and your mailing still hasn't gone talk to your admin person to check that cron jobs are enabled on the server.

Details fpor configuring scheduled jobs here: https://docs.civicrm.org/user/en/latest/initial-set-up/scheduled-jobs/

Cheers

Craig


State/Province display for a contact shows a number instead of the name for Vietnam contacts

Actually I don't think it is the ID, rather it is the 'abbreviation' which in the case of Viet Nam have all been entered in to table civicrm_state_province as numbers.

SELECT * from `civicrm_state_province`
WHERE country_id = 1233

whereas eg US ones are of type WV (West Virginia) etc

I don't know how bad it would be to suggest you copy the 'name' field and paste in to the 'abbreviation' field as a really bad hack.

I know I also raised this on the forum in the past with the hope of a solution so that there was a setting you could nominate to use either the Abbreviation or the Name on the Contacts Summary screen


CiviMail and unsubscribing from smart group

It looks like your smarties aren't being replaced when the message is being sent.  The link should have a url to your civi something along this line:

http://www.yourcivi/civicrm/mailing/unsubscribe?reset=1&jid=516&qid=102338&h=b0636ed456c5e1f5.

(That is assuming the link you reported is from an actual message that someone received and not what you have in the template or footer in civi.)

Do you have smarties enabled in your civicrm.settings.php file?

define( 'CIVICRM_MAIL_SMARTY', 1 );

See http://wiki.civicrm.org/confluence/display/CRMDOC/Smarty+in+mail+templates


Problem with upgrade to 4.7.0 (Wordpress 4.4.2)

David, I've seen a few things with the 4.7 upgrades on WordPress that made me double-check the clearing CiviCRM cache's and the browser caches.  It hasn't always been apparent that it's been vital in the past, and I'm sure I've been sloppy with it.  Is that what you are experiencing?


Editing a label in "new individual" form

You can use the word replacements feature, if you want to replace the word everywhere.

Or if you're just using that field for a different purpose, create a new custom field instead.


How to provide custom token for subscription related automated messages?

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


The Contact Form 7 integration basically takes all fields from the form and sends the data to CiviCRM. So basically you have 2 options when creating forms:

Use one of the standard CiviCRM API calls, and make sure the fields on your form are named as required by the API call
Develop an extension with your own API calls and use those (with the field names) on your form.


Adding password creation to registration form (Civi + Wordpress)

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

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

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


This sounds like a javascript error on your Wordpress site. These are typically caused by buggy WP plugins. I suggest you disable plugins to identify the problem.

Here are more detailed javascript troubleshooting steps for CiviCRM.


How do I change the Fee Amount display in CiviEvent registration?

I was having a similar problem with php 7.2, Wordpress 5.0.3 and Civicrm 5.9.1.
I ended up adding a javascript function to my website's javascript file. The meat of the function is number.toFixed(2) This forces the number to have only two decimal places.

function formatPrices() {
        const price_spans = document.querySelectorAll('.crm-price-amount-amount');
        if (!price_spans) {
            return;
        }

        price_spans.forEach(function(node) {
            const price = node.innerText;
            const data = price.split(' ');
            const symbol = data[0];
            const num = +data[1];
            const new_price = symbol + num.toFixed(2);
            node.innerText = new_price;
        });
    }


Can't get a list of people whose birthday in current month

This extension should help with your requirement –

https://civicrm.org/extensions/birthdays-month


Is anyone using the bootstrap UI css in production in 4.6?

This was part of a google summer of code. This requires change in the core and it wasn't "production ready" and hasn't been merged. For what I recall, they were a few tweaks that were "big gain", like automatically generate the input fields (most of?) so they use the same html structure and classes than bootstrap.

It would be great to complete the project and get it back in the core, but so far, no one picked it up (hint hint...)

What I often do is to use bootstrap and webform for nearly all the public facing forms, and it works fine

X+


How to add a new "From" email address in civi mailing - cannot find function following the update

Welcome to CiviCRM SE. I don't think it has moved. It is under Administer >> CiviMail >> From Email Addresses.


Did you read the manual before asking this question?

As per my reply here

CiviPledges can be set up so that

a logged in contact can see their upcoming Pledges on their dashboard
a contribution page can be set up as a self-service payments page

Setting up a pledge is here

The contacts Dashboard is here

The self-service payment is here but will only show if 'demo' contact has a pledge set up

If you need to add a Pledge to contact called 'demo' you can do so here

Hope that helps you.


Fee amount (percentage) of each contribution

This fee is being calculated and charged to you by PayPal.

Each payment processor charges differently, a combination of percentage and per transaction.

I don't think you should try and set a fee amount yourself, but perhaps you can play around with tax if you want to calculate a percentage of the dues.


What might cause an Contact Import to only import core data and not import custom data

I took a stab in the dark on this and re-ordered the columns in the csv to ensure that the custom fields did not come before the core fields. This resulted in both core and custom data to be imported. This may be documented somewhere but was a new one for me.


Welcome to StackExchange Rajesh!  The simplest option is to dump and load the database (eg using mysqldump).  If you need something different, edit your question to provide more information.


I'm not sure if this is possible - until very recently (version 4.7.17), there wasn't support for custom contribution tokens on a receipt, let alone participant custom tokens.  See CRM-8526 for details.


Participant to my events cannot download the calendar on their Outlook

You need to grant anonymous users the permission "view event info", could you check if it's done on your site?


I finally succeeded to find the solution!

It was the VirtualHost's include_path the problem! In fact it seems that CiviCRM's install script needs to add paths in it, and if it is already set, it cannot be modified with the PHP's native function set_include_path(void).

So, I only had to comment the VirtualHost's include_path, and it worked!

My VirtualHost looks like that now:

 <VirtualHost 192.168.1.203:80>
     ServerName xxxx
     SetEnv CODE_SITE xxxx
     DocumentRoot /var/www/xxxx
     php_admin_flag  engine on
     #php_admin_value include_path "/var/www/xxxx/" => this line must be deleted
</VirtualHost>


How to edit extensions git URL in www.civicrm.org/extensions

Make sure you're logged in to civicrm.org, find your extension's listing in the search, then on your extension page click the Edit tab. You can also edit the name, development status and description.


How to prevent public use of profile, while still allowing use via HTML snippet

You could probably do it at the webserver level, e.g. in apache using <LocationMatch> and then <Limit>. Untested, and you might have to fiddle or put it in the right place for clean/non-clean urls, or for specific gid params:
<LocationMatch "^/civicrm/profile/create">
  <Limit GET>
    # allow just my own IP
    Require ip my.own.ip.address
  </Limit>
</LocationMatch>


How to print variable/debug data from your extension.php?

(Update) As of v4.7.0, the approaches below still work, but there's a better way to write to the log file using a PSR-3 logger, e.g.:

Civi::log()->info('Hello, log!');
Civi::log()->error('I'm sorry, {name}. I'm afraid I can't do that.', array(
  'name' => 'Stanley Kubrick',
));

See also:
https://civicrm.org/blog/totten/the-static-is-dead-long-live-the-static

To write out to CiviCRM's ConfigAndLog folder, one can use either:

CRM_Core_Error::debug_log_message('hello log');
CRM_Core_Error::debug_var('name', $var);

There's also an experimental PSR-3 logger (CRM_Utils_SystemLogger) which writes out to the database (table civicrm_system_log), e.g.

$log = new CRM_Utils_SystemLogger();
$log->info("hello log");
$log->error("I'm sorry, {name}. I'm afraid I can't do that.", array(
  'name' => 'Stanley Kubrick',
));

If the debug statement is temporary (won't be committed/redistributed), then you can usually use CMS-specific functions (like Drupal devel's dpm() or Joomla's JLog).


You're looking at the template file - but I think this is best handled in CSS.  See this Stack Overflow question: HTML form with side by side input fields.

If you aren't CSS-savvy, you can hire someone from https://civicrm.org/providers or ask on https://chat.civicrm.org for someone.  Note also that while having a CiviCRM-specific person is nice, this issue isn't one that really requires CiviCRM-specific knowledge.  Any decent front-end web developer (and most web designers) should be able to handle this.

Finally, to ensure your CSS isn't overwritten by an upgrade, put it into civicrm.css and specify the path to it at Administer menu » System Settings » Resource URLs under Custom CSS URL.


PayPal Pro - how to remove link to paypal

My understanding is that part of your agreement with PayPal is to offer the option to pay with PayPal.  While you could use jQuery to hide the button or alter CiviCRM's code to remove it from display, you've promised PayPal that you won't.

There are stories (urban legends or actual instances, I'm not sure) of PayPal going after folks who hide the Pay with PayPal button.

Even if you don't care about that, CiviCRM will never remove the button so long as it's required by the agreement, so any code you write will have to be maintained as you upgrade.  This is a real cost that you should weigh against this.

Separately, we have clients who swear that many of their donors prefer to use PayPal, so that's another reason to leave it as-is.


Cannot create CiviCRM view in Drupal "Error: Base table or view not found: 1146 Table drupal.civicrm

This is because you don't have civicrm_participant as a key in the array defined under CiviCRM Views Integration section. To make sure copy all the tables listed in UF Integration page to settings.php file.

Navigate to Administer -> System Settings -> CMS Database Integration
Copy and paste the $databases['default']['default']['prefix'] array in settings.php file.
Save and clear the cache of your site.

More Information at : http://wiki.civicrm.org/confluence/display/CRMDOC/Views3+Integration


Token for custom field returns the token but not the Values. How to fix it?

what you are trying to do is to print Gift-Aid custom value in the PDF letter so you need use Token hooks - and assign an new token name for the gift-aid custom values by creating an new extension so the token will be available in the drop down list and you can print the values

do the same for all custom values


How to fetch CiViCRM events externally [ Drupal 7]

Option one: API will be the best option

Please use this link in your instance
http://localhost/abc/civicrm/api/explorer
or
http://d46.demo.civicrm.org/civicrm/api/explorer#explorer

you will get JSON output


You could use JetPack or another widget visibility plugin to prevent showing the page in the footer when you're on the CiviCRM Base Page.
EDIT: The following code prevents CiviCRM from overriding the content a second time:
add_action( 'civicrm_basepage_parsed', 'my_civicrm_disable_content_filter' );

function my_civicrm_disable_content_filter() {
    // Once the CiviCRM filter has run, remove it.
    add_filter( 'the_content', 'my_civicrm_remove_content_filter', 100 );
}

function my_civicrm_remove_content_filter( $content ) {
    static $done;
    if ( ! isset( $done ) ) {
        remove_filter( 'the_content', [ civi_wp()->basepage, 'basepage_render' ] );
        $done = true;
    }
    return $content;
}

This should mean that your second page renders as expected.


Text that doesn't appear on the contribution page

The text that you add to the "Pay Later Instructions' box should show per the following:

  Instructions added to Confirmation and Thank-you pages, as well as the confirmation email, when the user selects the 'pay later' option (e.g. 'Mail your check to ... within 3 business days.').

You said:

  what I wrote in the editor doesn't appear on the "contribution" page

Unsure if you incorrectly typed 'contribution' instead of 'confirmation', or if you meant what you typed, in which case the text is not expected to show.

The other text "Pay later label" should show on the Contribution page, but may only after an amount has been selected if (assuming more than one payment option is set up)

Please add any clarification you can to your original question via 'edit'


How do you restrict a CiviContribute page using roles

Idea for a possible workaround:

Create a group and role for the non-eligible users
Set up a Drupal block that only shows on this page and only for this role
put no visible content in the block, but create some JavaScript functionality to prevent non-eligible users to access the form


How to setup CiviCRM for multiple simultaneous telefundraisers?

Something along the lines of

grab some contacts
bulk create Activities for them all (one per each) with the person you want to make those calls as the Assignee
set them up with some Reports (or Drupal Views linked to webforms) that will show each person what Calls are in what Status

Note you may want to create a custom Activity Type with a custom field for the outcome of call (eg busy so callback, etc) and use that field data in combination with the Activity Status to ensure that you have a useful record of which people need trying again etc.

We have worked on developing something along those lines but with more sophistication using Views and Webforms but is only relevant to Drupal installs. This also allowed for folk to 'self-assign' more calls from the pool if they had done their allocation.

There is also the CiviEngage package that comes with the drupal install which you can read about here: https://docs.civicrm.org/user/en/4.7/civic-engagement/what-is-civiengage/


Making a simple contribution page template

The template would not have anything to do with the styling to make it look like the rest of your website. Styling is in the CSS files. If you do not want to see the header, etc. just use display:none in your CSS file.

But... Are you talking about not seeing the embedded website header, nav, etc? If so, that has nothing to do with Civi templates. If this is case, the simple fix is also CSS display:none


How do I add the timezone field to a profile?

This is not supported by CiviCRM but you can do a small change in your existing CiviCRM file as shown below and clear civicrm cache, the profile form should then should allow you to add timezone field of address.

diff --git a/CRM/Core/DAO/Address.php b/CRM/Core/DAO/Address.php
index b1e00a83dc..ee9bf2d945 100644
--- a/CRM/Core/DAO/Address.php
+++ b/CRM/Core/DAO/Address.php
@@ -731,6 +731,7 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
           'table_name' => 'civicrm_address',
           'entity' => 'Address',
           'bao' => 'CRM_Core_BAO_Address',
+          'import' => TRUE,
           'localizable' => 0,
           'html' => [
             'type' => 'Text',


It looks like Curl is installed but still getting Curl not installed error

Command-line curl and php-curl are usually different packages. Assuming you're using unix you would do something like yum install php-curl or apt-get install php-curl. The exact command depends on what OS and version.

Or it might be installed, e.g. as part of the php-common package for example, but for whatever reason it's not enabled, in which case check /etc/php.d/20-curl.ini (the exact file/location depends again on which OS/version - it might even be directly in php.ini), and enable the curl module in there.


You will need to create extension to have Eventbrite sync with CiviEvents. Here is some guideline on how to approach this

Create extension.
Add page using civix
In run() use CiviCRM api to create entries in civicrm table.

Reference :

Mandrill extension uses same approach i.e to create entries in various civicrm table upon webhook call. This might find you helpful to develop your extension
https://github.com/JMAConsulting/biz.jmaconsulting.mte/blob/master/CRM/Mte/Page/callback.php


Drupal Rules are not working properly when check CiviCRM Contact's Subtype

I remember this issue from some time in the past, probably been on stackexchange here before. In the end, we developed a new Rules condition, provided by the CiviCRM Entity module, "CiviCRM Contact is of subtype".

It is in the "CiviCRM" section of the options list when you choose your condition.

Give that a try, I believe it will solve your problem. It is expecting one parameter, a Contact object. It then allows you to choose which subtype to look for.

It is possible you will have to load the contact first, and put your conditional down in the actions section of your rule.

To load the contact, use the "Fetch entity by ID" action, and pass it

civicrm-relationship:contact-id-a-contact:id


Does class autoloading not work in standalone phpunit testing?

This is an issue with intermediate base-classes for tests (like VolunteerTestAbstract). The most reliable solution I've found is to put a require_once to load the intermediate base-class. For example, this is what I used in uk.co.vedaconsulting.mosaico:

require_once __DIR__ . '/TestCase.php';

class CRM_Mosaico_MosaicoTemplateTest extends CRM_Mosaico_TestCase implements EndToEndInterface {
     ...
}

Unfortunately, it's hard to combine PHPUnit with a classloader that understands extensions. To see why, consider an example command:

phpunit4 tests/phpunit/CRM/Mosaico/MosaicoTemplateTest.php

Which would then:

A. Load test files, e.g.

Load tests/phpunit/bootstrap.php
Load tests/phpunit/CRM/Mosaico/MosaicoTemplateTest.php (which depends on a base class like CRM_Mosaico_TestCase)
Load tests/phpunit/CRM/Mosaico/TestCase.php

B. Begin executing the test logic, e.g.

Execute CiviTestListener
Execute setupBeforeClass()
Execute setUp()

The problem arises if the database-initialization (eg \Civi\Test::headless()->installMe(__DIR__)->apply()) is put in phase B test-logic (e.g. CiviTestListener or setupBeforeClass() or setUp()) . The database-initialization determines which extensions are active. The active extensions determine the class-loader. But all of this comes too late. During steps A2=>A3 (when we need autoloading), the extension-enabled class-loader isn't available yet.

Put another way: any code which references an autoloaded extension class has an implicit dependency on the database.

One can resolve this conundrum a couple ways, e.g.

In tests/phpunit/bootstrap.php, fully initialize the system. (Ex: In the line eval(cv('php:boot --level=classloader', 'phpcode'));, change the --level to settings or full.) This makes sense if all the tests are end-to-end (e2e).
Load classes in a way which does not implicitly depend on the database. The simplest thing is to do a require_once to load the target class. (EDIT: What's a nice place to put the require_once statement? I originally put it in each test class, but on second thought... it would be more elegant to put it in tests/phpunit/boostrap.php.)

(I'm writing this to help me get the problem a bit clearer in mind... hopefully that will eventually lead to a better solution...)


How can I efficiently dedupe a very large number of records?

We did a lot of work to the dedupe processes in CiviCRM and in 4.7 its a much easier process to de-dupe large databases then it used to be. It was presented by Eileen in this years London CiviCon, worth a look before you get into trying to do it outside of CiviCRM with all the pitfalls that brings with it!


Hide CiviCRM navigation menu based on permission

There's a CiviCRM navigation hook that you could use in an extension but...

To me this is the wrong approach. Hiding the menu does not stop users from accessing those pages or using the API via JavaScript.


==> I found the trouble : that was in the role setting : Multisite: view/edit/list all contacts in domain was not selected for this role… I my case, all the site share same user and roles along the sites. But the actual setting needs to be defined in each site. Therefore the warning was indeed accurate and indicating a wrong setting for the role.


Possible cause? CiviMail sent "400%" of queued messages, hit each recipient 4 time

It was highly likely due to this issue which has now been fixed in 4.6.3:

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


How can I allow multiple memberships for a single contact under one organisation?

The logic behind the behaviour you're observing is that most of the time when a contact is paying for a different membership type than their existing one, they are upgrading or changing that membership. Whereas an administrator is doing it, they can be trusted to differentiate between an update/change vs. a new one.
The link you provided suggests that if you create membership type A and B associated with different organizations, then the system knows not to change a membership, but to create a new one. That seems like a good idea, but it depends on your own details - the membership model in civicrm has trouble capturing all the possible nuances of memberships in real life.
Here's a link to one of my recent projects that provides support for multiple memberships:
https://socius.cpha.ca/civicrm/contribute/transact?reset=1&id=2


How to send subscriptions to a non-primary address

You can create a new Location Type at Administer > Customize Data and Screens > Dropdown Options > Location Types. I take it that most contacts will use the Primary Snailmail address, but that a small proportion won't. So I would manually create and manage the use of the override location type for the smaller group.

There are various ways to handle the creation of the mailing labels. You could either export both primary and override addresses to Excel and then do a bit of coding in Excel to choose the override if it exists else the primary. Or you could do a bit of custom coding to provide tokens in CiviCRM that do the same thing. You could probably also do it in Smarty fairly easily if you have full mailing address for both locations in two variables exposed to Smarty.

Unfortunately I can't think of an easy way to print the labels in core CiviCRM. Maybe others will. Good luck.


Feature request: Relate memberships to Groups and have separate access

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.


Unsubscribe confirmation email fails when using Exchange as the mail server

I discovered this was because CiviCRM attempts to send the email from do-not-reply@ and the account used to send the email did not have the rights to send on behalf of that email address. You cure it by creating a shared mailbox called do-no-reply@ and give the outbound email account rights to send email from that mailbox.


How to hide civiCRM event sections like event attachment, event committee, Event Contact, Event Filter Informations when they don't have data

You can try this css trick

div:empty {
   display: none;
}

Or you can try using jQuery

$('div.section:empty').hide();


It looks like you pretty much have it almost done from your screenshot. The where conditions are in the parameters, you have membership_id selected, and you can choose an operator and value for each of the parameters.

Regarding the SELECT col1, col2, col3, if you want to limit to only certain fields you can do that with the "Fields to return" box.


Where is the record of Email --send now (50 or less)

Using the "quick email" function (aka "send now to 50 or less") bypasses CiviMail - so they won't show up on CiviMail reports.  If you need CiviMail functionality (e.g. reply/click-through tracking, reporting, reuse, scheduled emails, etc.) you must use CiviMail.

However, you can still pull up a record of these emails, either via Advanced Search or Activity Report.

Advanced Search

Search menu » Advanced Search.
In the "Activities" section, specify "Email" as the Activity Type, and some way of identifying the email in question - perhaps the subject line (see screenshot), or the date.


Error when trying to create a public form using a profile with a Grant field

You'll need the Grant Application Pages extension to do what you want.  I believe Caldera Forms CiviCRM  will also do the trick, and give you some more flexibility to boot - but I'll admit I haven't tried that approach.


Is the GDPR extension compatible with civicrm 4.6?

We've just released a new version, 2.1, which is 4.6 compatible. The only difference is that in 4.6 installs the Forget Me function will not clear out IM messages as the API in CiviCRM crashes out.


Custom payment processor for credit balance - need ideas and advice

I would try grabbing the code for one of the current payment processors and creating a new instance of it for your credit account "processor".  This should give you the plumbing necessary for CiviCRM; of course you will still need to build out the interface with the MSSQL application, but you will need to do that anyway.

To start this, do a 30 minute dive into the current civi payment processors... I recall there being some fairly simple implementations that you probably can most easily leverage.


100% mailing have bounced : validation failed for

So I found the problem.
Thanks to @HomoTechsual who lead me in the right direction.

The reason had been found in the Settings - Outbound Mail.
It was set to mail() with a success message : Your SENDMAIL settings are correct. A test email has been sent to your email address.
That looked good but in fact the message was never sent by the server ! Trusting this message, I did forget to check if the test email really arrived to email address. My mistake : always double check.

After I changed the setting to SMTP with all the right setting of the mail server, I still got the success message but the message arrived in the mailbox.
After I removed the bounce tag for each email address, I could make a test mailing that went fine this time ;-)

So the issue was from the mail server. The issue was not with CiviCRM. Something probably related to the DNS is not working on the server. This made CiviCRM confused about the mailing.
From now Civimail works well with the SMTP set in the Settings - Outbound Mail. I the case of my server this is the only option.

UPDATE : In this case it seems that a group of several issues happened.
I found another thing that could be at the origin in the table civicrm_mailing :
both from_name and from_email are set to (INVALID)

from_name From Header of mailing (INVALID)
from_email From Email of mailing (INVALID)

Yet I have no clue how this happened but there now a clear link with validation failed for <(INVALID)>
I did not find why chosen email provoque that. It might be related with multi-site extension. Now I can manage the mailing with an another email address.


Agree, it's probably time to remove it.

Over on https://civicrm.org, it's handled like this:

.crm-container #printer-friendly {
  display: none;
}


For civiEvents in a Drupal View, how to display only one of a repeating event?

I do not think there is an easy way to do this via the Drupal Views interface.

However you can do it using jQuery or maybe CSS to hide all but the first instance of your repeating event.

Start off by creating a custom event option field to identify each type of event. You could even use the event type ID if you wanted and just add more options to it.

So it could be

Jane's classes would have an ID of 1
Joe's classes would have an ID of 2

So whatever you choose, each event will have an ID that identifies the type of event.

You can get these ID values into the View. Make sure you have Civicrm Entities module installed.

So now you have a view that shows say

Start date
Title
Event type ID or your custom field ID

Now you create a Row template for the View

Now you wrap the row in a div and you add in a class to the div dynamically, from the event_type_id.

So something like

<?php $id = $fields['event_type_id']->raw;?>
<div class="event_type_<?php print $id;?>">
-----rest of the fields

If you inspect the output on the page, then each row for Jane's classes will be wrapped in this div

for example.

jQuery solution

Now what you do is make yourself a Drupal module that adds a bit of jQuery for when the page has loaded.

It should have a function with a selector like this

$('event_type_1').slice(1).remove();

That would remove all but the first row of Jane's classes.

Or this selector could do it

$('event_type_1:not(first-child)').remove();

CSS solution

Add a class for the view using the Class option in Advanced section of Views admin for the view display.

Then try

.view-class-added > event_type_1:not(:first-child) {
display: none;
}


How do I do a mass email to all volunteers?

welcome to CiviCRM!

How are your volunteers defined in the CRM? I.e.how do you create a volunteer instead of a regular contact?

When you know that, log in, go to search -> advanced search. It's worth getting familiar with these options. Look to see if volunteer appears under contact type.

If you need more info post back!

John


Answer or sort of.

First you cannot pass numbers as index ie. $columnHeaders.1.whatever smarty will print just $columnHeaders

Second, same applies for $rows, I guess it holds an array of arrays with perhaps an id for each array with the custom fields, or just an index, if that's the case you need to nest your loops.

Example:

{foreach from=$rows key=index item=row}
     {foreach from=$row key=field item=value}
        <p>{$field}: {$value}</p>
     {/foreach}
{/foreach}

Hope that gives you a hint and helps.


Importing Notes with external identifier

You need to choose 'Update' for 'For Duplicate Contacts' option on the import screen if you want to update the contact using import.

Cheers

Pradeep


civicrm doesn't have an out-of-the-box solution for the 'tracking every entrance and manage the balance of the 12 entrance pre paid card', but that said, there are ways you can work through this I expect. I know we did a solution once upon a time for a Museum which also offered a 'subscription' which we implemented as a 'membership'.

The difficulty as I see it with the 12 entry card, is that you don't have a timeframe - hence membership isn't appropriate - nor is it an Event.

You could make a special Contribution type that has a custom field with checkbox for 1 through 12, and have that come up on the system so you can add an extra tick on it, or use Activities and somehow track the count on them (perhaps even like a Case).

Maybe someone else can suggest an Extension that I am not aware of.


How do make an ACL to allow the searching of contacts in a smart group?

You can use 'View' operation on the group of contacts. This will restrict the ACL role to search and view only the contacts in the group which you specified.


GDPR Communication Preferences Compulsory

One route is to do the following:

Modify the section

  Communication Preferences
  We want to ensure we are only sending you information that is of interest to you, in a way you are happy to receive.

to make it clear that by signing up they are signing up to the Newsletter

then in Comms Pref settings page, untick the "Allow users to opt-in to mailing groups"

then on your MS Newsletter profile - use the Adv Settings to 'add them to group'

i think that makes it really clear what folk are signing up for
and removes the extra tickbox for the newsletter from the form


Aggregate Contributions Reports and fiscal years (and households, too)

I believe this extension will provide the aggregation you're looking for: https://civicrm.org/extensions/aggregate-household-contributions-report

I'm also the main person working on CRM-16195 that Lobo mentioned - I'm trying hard to make time for this (unpaid) work to get it into 4.7, but time is tight!  However, your use case is listed on our notes sheet: http://wiki.civicrm.org/confluence/display/CRM/Notepad+for+CRM-16195


Why are commits to 7.x-master not included in latest versions of CiviCRM?

While Github is used for the code collaboration, co-ordination of which issues are fixed in which release is done on over CiviCRM's JIRA install.

In order to better ensure your PR was included in the next 4.6.x, you could open an issue there and tag with appropriate versions (eg 4.6.10 for fix version), then reference the JIRA ticket in the Github PR.


Wordpress - Civicrm 5.16 upgrade to 5.30 issue - Notice: Undefined index query in /wp-content/plugins/civicrm/civicrm.php on line 483

Comment out line 391 of that file - so that it reads like this:
// add_filter( 'heartbeat_settings', array( $this, 'heartbeat' ), 1000, 1 );

Then try the upgrade again.


Why is filtering by custom country multi-select in a Drupal View not working?

Views is going to have a tough time handling this field, it generally likes a better table structure. I wouldn't call this a views handler problem, but an implementation problem - using the CiviCRM multi-valued custom field is just going to be problematic for views.

You could try getting views to create a different sql query with a LIKE instead of equal to the country id, but that'll be flaky.

I'd consider instead using a Drupal user field to store that value.


In your view, pull in the CiviCRM birth date field.
Under date format, select Time ago.
This will present the D.O.B. field as 40 years 7 months

To remove years and months from the output you can ‘Rewrite results’ in the view and ‘Trim this field to a maximum length’ and set ‘Maximum length’ to 2 characters


Is it possible to view multiple payments on a registration as separate Contributions?

I can understand what you are trying to do - yes this is the way Civi works

For Accountant Point of View
I guess they will be more interested in the CSV from batch export which will make more sense to them

where you can see Credit account type clearly says

INC (Invoice)        - 1000
AR  (Amount received)- 10 + 990 => 1000

with different nominal codes

If you are not happy with this output then you need to create an extension for each changes - I guess this helps


CiviCRM Upgrade after 4.0: do I need to update civicrm.settings.php?

No, those settings should already be in your civicrm.settings.php - but it would only take a moment to check your file and ensure the values on the wiki page are there.


API Explorer 4 under Joomla and Windows/IIS gives fields like {{ ts('CiviCRM API v4') }}

The problem was caused by IIS Request Filtering Hidden Segments.  By default IIS has a hidden segment called bin.  API Explorer 4 attempts to get JavaScript from

.../administrator/components/com_civicrm/civicrm/bower_components/google-code-prettify/bin/

Notice the bin folder name.  Removing the bin Hidden Segment cured the problem.  Security isn't an issue - the web site is only accessible in the local environment.


The problem was solved by modifying php.ini to disable zlib compression.


Is it possible to integrate CiviCRM with a hosted VOIP solution?

There isn't a single unified VOIP interface, so each interface with civi would have to be custom.

I've seen two interfaces with an Asterisk based VOIP:
- fetch the name of the caller (based on the number) to display it on the phone when ringing
- add click to call on various screen (at least the contact details)
- log a call

For the last one, I don't think it has never been very useful, because most of the callers don't seem to think most of the calls are important enough

Neither of these were hard to develop, but as said, it's probably quite specific to what is your VOIP solution.


Setting primary email and phone upon contact update

That sounds like a bug - can you confirm you ran the import via the CiviCRM GUI?

On fixing this for you - do you have access (or work with someone) who has - to phpMyAdmin or MySQL?


Is there a way with webforms when submitting a new entry to have it only save the stuff that was actually touched by the user?

If there is information that you don’t want people to override/edit - you probably want move to towards issuing Drupal User Accounts - so you can start creating forms that are serving purposes like Update My Profile, Update My Volunteer Shifts, Update My Conference Registration. When a user is logged in - Webform CiviCRM module can display current information stored for that contact and it’s immediately clear they are overriding/editing or adding.


How can we install civicrm extension which is not available for drupal

You need to first get into the extension directory, and download the extension directly. Then you can install the extension from Manage Extension Page.

wget https://github.com/civicrm/civihr/archive/1.3.0.zip
unzip 1.3.0.zip
mv civihr-1.3.0 civihr

You can now move to Administer>System Settings>Manage Extensions Install CiviHR and you are good to go.

This link can help you further.


CiviCRM Webform - Dedupe issue when using a shared address

Here is the commit originally made to fix that issue. I suggest you check the current version of the code to ensure that function is still working - seems possible that it may have been inadvertently broken during some restructuring around the way contact ids are stored.


Is there any way to add "Relationship Type" to a membership type that already has members?

Yes, you would have to change the civicrm_membership_type table, in columns relationship_type_id and relationship_direction. Be careful though as these are multi-valued field, so if you inherit the membership based on multiple relationship types you will need to store CONCAT_WS(X'01', {type_1}, {type_2});


Why, in Civicase, is 'other relationships' purely additive & why do they show up on every subsequent case?

I found the answer here in an old forum posting  Civicase creates a group called 'Case Resources' into which it drops any contact you add (as described above).  So to remove these from all cases you just edit this group.  Phew!  Wasted an hour or so, but now a little wiser!


Welcome to Stack Exchange Angelika. The error is most liekly because your SEPA-creditor is marked as a test creditor. You should be able to change that in the creditor's settings.


Custom fields are not pre-populating on profiles added to events, membership, contributions, etc

Try applying patch from below PR

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

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

HTH

Pradeep


Why am I getting mangled menus and why can't CiviCRM find its own /ext directory?

When you install D8/CiviCRM with Composer you end up with CiviCRM's .gitignore file in the vendor/civicrm/civicrm-core directory. Renaming that .gitignore outoftheway solves the problem. No civicrm.settings.php file edits required! Of course you can be more selective but think of not ignoring bower_components as well as the /ext -> that's what solved this issue instantly.


The process to get a bug fix included is to submit a Pull Request ("PR") to that branch on Github.

This is documented in the civicrm wiki: How to Submit a Patch to a Version Branch

Get yourself a GitHub account.
Create an issue in JIRA (already done, CRM-13287).
Create a fork of the appropriate branch of civicrm-core to your own account.

At this point I'd usually create a branch named for the JIRA issue.

Make changes to your forked repository.

For this small change you could easily apply the patch manually in the GitHub web UI, but for most changes you would clone the codebase to your computer using Git / GitHub app, change the code locally and test it, then push the changes back to your fork.

Use the GitHub web UI to submit a Pull Request back to the original branch.
Note the PR number / URL in GitHub, go back to the JIRA issue and add a comment identifying the the PR in the issue.

To get a change into LTS, submit your change to the appropriate version branch - currently 4.4 - as well as to the master branch.

Going further ... Your aim is to make it easy for maintainers to accept the change, to make it clear why they should accept the change, and to reassure them that the change is not harmful. Submitting a PR addresses the first of these.

The PR makes it easy for maintainers to merge the changed code in. To help illustrate the motivation for accepting the change, you might need to improve the ticket in JIRA so that the severity of the problem is clear. To demonstrate that the change is not harmful, you might expand test coverage to prove that the functionality before and after the change is equivalent or even improved.


Using Webform CiviCRM for a contribution form and allow "on behalf of an organization"?

Instead of have 2 links in my menu to two different webforms, I made an image of a Yes Checkbox.

At the top of my form I added a Markup component and put in the following code

This donation is from an organization

This still feels like it is part of the form to donors but it actual is a link to my other form.


Dedupe rule to reject record rather than creating new record

I am not aware of anything in CiviCRM core that would allow you to do so. Depending on your use case you could consider setting up forms that can only be used by authentictaed users.


Change Member Listing Layout in Worpress

@Brad that's a pretty broad question - I'm not sure anyone would be able to give you a complete guide here. However, a good first step would be to see if the CiviCRM Directory plugin fits your needs. It's not very well documented, but you should visit its Settings page (where you need to fill out API keys if you want mapping) and explore the "Directories" content type which the plugin creates.

Each "Directory" will allow you to use a CiviCRM Group as the source for the listings. Layouts can be templated in the usual WordPress manner of placing files in your child theme's directory to override the default markup. In combination with some CSS in your child theme, you should be able to get a long way towards your goal.


Memberships not recorded since mid April 2018 (using Webform)

ok let’s figure this out:

add the webform_civicrm module version + civicrm version to your question
check if there are any drupal database updates to be executed
use (install if you don’t have it yet) node_clone module to clone your webform
on the cloned form: remove the multi-value fileds - check if the form works without them
use (install if you don’t have it yet) https://civicrm.org/extensions/civicrm-log-viewer to view any configandlog file entries;

Let us know what clues you can dig up.


How do HTTPS settings interfere with CiviMail?

It sounds like you have "http://" hard-coded into your URLs.  Check your BASE_URL in civicrm.settings.php (and search the whole file for "http://" while you're there), and check the Administer » System Settings » Resource URLs menu to ensure that your resource URL doesn't include "http://".

Finally, check if you have any extensions that have the text hook_civicrm_getAssetUrl, which suggests that they may be changing the Asset URL.


CiviVolunteer mentions CiviVolunteer: register to volunteer permission. Did you spot that?


Message: "CiviCRM does not have permission to write temp files" after login into back-end Joomla

They may have changed how they're running PHP for your hosting, which could lead to your old templates_c files being unwritable to the new PHP process.

As Lobo's comment advises, removing the files and ensuring that the templates_c is world-writable should resolve the permission issue.

It'd be ideal if templates_c belongs and is writable only to the new PHP process.


You’ll need to check off Contribution Amount in your config (on the Webform). Then (in your webform components screen) you can:

drag it to where you want to move it to on your form
set it to a specific amount and hide it
use conditionals to set it to a specific amount
with some additional config you can also pass it into the form as a parameter

Webform CiviCRM only takes the config portion (payment processors, thank you and receipting, financial type) bits from CiviCRM Contribution form.


Why are public files in Joomla admin directory?

I have found the same thing. I think there is a misalignment in the configuration, as the components settings file:

 * CIVICRM_UF_BASEURL - home URL for your site:
 * Administration site:
 *      define( 'CIVICRM_UF_BASEURL' , 'http://www.example.com/joomla/administrator/');
 * Front-end site:
 *      define( 'CIVICRM_UF_BASEURL' , 'http://www.example.com/joomla/');
 *
 */
if (!defined('CIVICRM_UF_BASEURL')) {
  define( 'CIVICRM_UF_BASEURL'      , 'http://www.xyc.com');

For the front end forms to work, it needs to be /administrator to load the resources, however the form then posts to this URL, which is not correct for unauthenticated users.

I am going to copy the relevant resources for now.


You can do this with Webform CiviCRM module! I whipped up some screenshots for you to show you how. Participant Fee is entirely by Donation in this case. I registered twice: once leaving the Participant Fee at $0 and once deciding to donate $40 (in which case the user gets prompted to enter credit card details; in the $0 of course they don't).


File attachment lost during merging of records

What you describe sounds like this bug https://lab.civicrm.org/dev/core/issues/723

  File custom fields cause a fatal error when trying to merge
  If you are trying to merge a contact with a custom field that is a file, if the contact that will be deleted is passing a file to the remain contact, the merge will fail, generate a fatal error, and lose all the custom data in the set including the file.

  To recreate:

  Create a contact custom field that accepts a file.
  Add files to one or two contact records.
  Merge a contact with a file into another contact
  Fatal Error occurs. All files are no longer attached to the custom fields. The contact to be deleted loses all the custom fields. While the remaining contact looses only the file.
  If the contact that is to remain has no image the error message is

  No record found for given file ID - 0 and entity ID - 203

I'm also seeing this in CiviCRM 5.10.3. So I would say this is a known bug which has not yet been fixed.


How do I suppress showing cents on a contribution page?

In Settings - Localization, try changing Monetary Value Display from:

%!i

to:

%!.0i

See: http://forum.civicrm.org/index.php/topic,20941.msg87684.html#msg87684

Please see the comments below by Andrew Hunt and Lobo - the above will get rid of cents/pence across the board, which may not be what you want. See Lobo's answer for alternative approaches. Trust Lobo. :-)


GiftAid extension 3.1.0 compatible with CiviCRM 5.x?

Yes, version 3.1.0 of the Gift Aid extension (from Compucorp) certainly works with release 5.19.x and 5.24.x. As you've obviously upgraded fairly recently then try clearing caches?


When sending SMS messages - contacts must have mobile phone set as primary

I tracked down the bug here:

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

CiviCRM is suppose to send to your mobile number even if it is not the primary one.


CiviCase Will Not Save Settings for Activities

There are a couple of things to look out for.

If you are creating a new case type, we had to delete the default role that is automatically assigned (case coordinator I believe), save and then re-add the role before it would save.

If you are working form the older xml files to configure cases, I'm not sure that the case ui will work with those.  You may have to edit those files manually.


why does dashboard membership number not match list of members?

The dashboard is programmed to show memberships that have a start date, whereas the search is not including that filter. If you are getting a different number in the search than in the dashboard, click on the Start date column to sort in descending order to find the record that is missing a start date - once you update that record, the numbers should be one and the same on the dashboard and on the search.

Hope this helps!

Editing to include screenshot regarding my last comment:


Can Honoree type and name be inserted into the Contribution email receipt?

I haven't tried this for honoree info but I have been able to successfully add tokens to the email receipt by pasting the token in the message template in administer - communications -  message templates


Error from CiviCRM code when I try to install other Drupal modules

It looks like CiviCRM is trying to insert some "Managed Entities" which already exist in the DB. Certain actions within the Drupal CMS will trigger CiviCRM to attempt this, and enabling / disabling modules is one of them.

What I might do in this situation (if I had to fix it without upgrading CiviCRM) is:

Make a backup of your DB. Make two.
Look in CiviCRM's debug logfile for ManagedEntities_failed - this has additional information to the Exception message you posted above.
Review the entry which CiviCRM was unable to insert to the DB (because a conflicting entry already existed).
If the entry CiviCRM tried to insert matches closely to an entry in the DB, then remove the DB entry you find and hope that when CiviCRM re-inserts the same, it "sticks" the second time around.
You might need to repeat this process, so pay attention to any new errors in the same logfile, and see if they are clashing with new entries or the same one ...


Custom Field Groups with File fields cannot be edited as a Tab

A work around is to create the record without the upload and then edit. The upload works fine after that.

4.7.13 and Drupal


Mailing issue. Could not identify any recipients. Perhaps the group is empty?

The solution for me was to set up a Bounce Processing email account in Administer menu > CiviMail > Mail Accounts.


How to disable datepicker UI for a mobile device

To use the native datepicker of the mobile device, the field needs to have type="date". So your code to disable the datepicker popup and use the native device's instead might look like:

(function($) {
  $.ui.datepicker.prototype.options.focus = "button";

  $(document).on('crmLoad', function($region) {
    $('input.dateplugin', $region).each(function() {
      this.type = 'date';
    });
  });
})(CRM.$);


Why are edits not saved on custom field profile?

In this case the error was due to contacts that were tied to disabled sub-types.

They had created a few sub-types some time ago, added individuals of that type and then disabled the sub-type.

Once I enabled them, they were able to edit using the custom field profiles.

Since they weren't using them, I created a profile to bulk edit their sub-type and pretty quickly cleaned things up.


Problem to view forms registration for anonymous user

you need to provide access to the guest user/visitor and you can find all the permission in WordPress Access Control

CiviCRM » Administer CiviCRM » Access Control

For more reference please give a read
https://book.civicrm.org/user/current/initial-set-up/permissions-and-access-control/

I guess this helps !!!


Enabling membership reminders - will it only mail expirations valid this day?

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


There is no valid default from email address configured for the domain

You would need to setup your FROM email by going to the menu item Administer > CiviMail > From Email addresses
Address format should be like
"My organization" myemail@myorganisation.com


What information does log_civicrm_group keep? How is it useful?

There had been an issue recently where way more 'changes' where logged than intended: https://lab.civicrm.org/dev/core/issues/449.

Can you verify that it is still growing way too fast since running on a patched version?

The information you are looking for is stored in the table civicrm_subscription_history aswell as civicrm_group_contact for current status.

With log_civicrm_group you could track how the title, description or hierarchy of a group change over time.


CiviCRM doesn't require an external mail service, it's possible to deliver mail directly from most web hosts. Quality and limitations may vary on some webhosts, and you may have to contend with other websites in a shared environment affecting your reputation.

Running your own mail service on the server/VM you run CiviCRM on is also an option but not for the faint of heart, as it requires expertise and awareness of mailing best practices. It makes sense if you have resources to dedicate, but likely requires more attention than using a reputable paid service - at least until you're sending enough mails to make a paid service expensive. If you self-host mail delivery, expect to get familiar with things like SPF, DKIM, DMARC and mail reputation.

Generally, I'd recommend checking out the hosted options available - they should take care of dependable delivery and reputation for you, and let you stick to what you do best. See:

This CiviCRM blog post on available options,
This listing of CiviCRM Mail Providers over on the wiki,
this recent "Which mail alternatives work well?" question on CiviCRM.SE


How do I deal with "Your database has already been upgraded" error?

It sounds like you are trying to run the update script before you have downloaded and installed the 4.6.15 version files. Can you double check this?


Joomla installation error: Please enter a package folder. Unable to find install package

First of all, my apologizes for my english, it is not very fluent.
Now, my answer:
Have you checked if this version of CiviCRM is compatible with your host PHP version?
CiviCRM package is not an Autoinstaller Package as many other extensions: components or plugins.
I think the process to install is:
-Upload the compressed CIVICRM package (Check than is a Joomla version) to the 'tmp' folder of your Joomnla installation. Uncompress-Expand it.

-Now, in your tmp folder there must contains a folder 'com_civicrm/
In administrator/extensions/install-uninstall/install from directory add the /com_civicrm/ subfolder at the end and click install.
If everything goes right you will get a 'component successfully installed'.

The link to Civicrm help : https://docs.civicrm.org/sysadmin/en/latest/install/joomla/

Good Luck!
Francesc


Error "No payment information found for this record" when connecting multiple participants to a single payment via API

when you create the "non main" participants, do you link them with the main participant registration?

As written, try to register multiple participants via the normal web interface and use it as a template, but it seems that you need to set participant_registered_by_id to the id of the first participant (BAO/Participant.php getAdditionalParticipantIds function should give you more hints)


Fatal error: require_once(): Failed opening required 'CRM/Core/Payment/SDD.php'

If you have performed path reset than path of extension must have been updated and the system already have SDD payment processor created therefore it is throwing file not found error.

You can fix this in either of 3 ways:

If you have db access then update civicrm_payment_processor.is_active = 0 for SDD payment processor type and then update the extension directory path by navigating to Administer >> System Settings >> Directories
Update the extension directory path in civicrm_setting table where name = extensionsDir (make sure you serialize the data correctly)
Over-ride the extension directory path in civicrm.settings.php

$civicrm_setting['Directory Preferences']['extensionsDir'] = 'xxx/sites/default/files/civicrm/persist/contribute/';

and then update the directory path by navigating to Administer >> System Settings >> Directories

HTH

Pradeep


SQL error trying to delete activities following CRM-20958

Start by checking that the civicrm_activity table does have a created_date column.  If not, maybe something went wrong with the upgrade process - which is a bigger issue.

If it does exist, do you have logging enabled?  When you change civicrm_activity, a trigger will update the related log_civicrm_activity table and if that does not have created_date then the original action will fail.  If that is case, you can disable and then re-enable logging at Administer > System Settings > Misc which should fix the problem.


JavaScript Errors / CRM.$ is not a function

Figured it out after some troubleshooting. On the Drupal theme being used, the minified JS (including jQuery) was being put at the end of the page and not present when Civi JS is executed.


Extending "get" action with custom WHERE clause

The options depend on the version of Civi.

In v4.5/4.6, most API's correspond to a BAO class (e.g. Activity API ==> CRM_Activity_BAO_Activity). You can define a function setApiFilter() which examines $params and mixes in arbitrary bit of SQL.

The query-builder used there had several weaknesses, so v4.7 uses a different approach. We had some drafts/discussions which would have made this more hookable, but the hook ultimately went a different direction.

As it stands, to do this as an extension in v4.7, I think you'd have to make custom API (Myentity.mycustomget). The API would then pass-through the request to _civicrm_api3_basic_get(). _basic_get() is the engine which drives query-building in the majority of APIs. You can find ~100 examples by grepping for _civicrm_api3_basic_get. Loosely, the code would look like:

function civicrm_api3_myentity_mycustomget($params) {
  return _civicrm_api3_basic_get($bao_name, $params, $returnAsSuccess, $entity,
    $sql, $uniqueFields)
}

Note that one of those parameters, $sql, can be a fragment of arbitrary SQL (WHERE, JOIN, GROUP BY, etc), e.g. let $sql be:

CRM_Utils_SQL_Select::fragment()
  ->where('(start_date >= CURDATE() || end_date >= CURDATE())');


Can I influence the activity source contact with the membership API Create action?

At this point, no, at least as long as you aren't using the API as the member him/herself.  The relevant line is https://github.com/civicrm/civicrm-core/blob/4.6/CRM/Activity/BAO/Activity.php#L1886:

// create activity with target contacts
$session = CRM_Core_Session::singleton();
$id = $session->get('userID');
if ($id) {
  $activityParams['source_contact_id'] = $id;
  $activityParams['target_contact_id'][] = $activity->contact_id;
}

Basically, CRM_Member_BAO_Membership::create calls CRM_Activity_BAO_Activity::addActivity, and the code above just forces the source contact to be whoever's logged-in.

Ironically, just a few lines above, the activity source contact is set to be the ID set in the contact_id property of the activity object passed to the function from the membership, but this overrides it.


Fatal error on CiviEvent dashboard in 4.7 using PHP 5.3.5

Not sure if it relates, but if so it is likely your PHP version:

Bug #66818  PHP Fatal error: Can't inherit abstract function


Default value in custom field cannot be searched

Perhaps this is your answer. There are two processes involved in getting a field on an event

add a Custom Set of Fields and then create the field
display the field in the Profile

so if you want a default value showing on the Event you need to set it when you add the Field to the Profile (ie 2.), you do not need to make the field itself.


If you mouse over the icon on the left of each result row a popup comes up with more details on the contact. This does help isolating the correct record when reviewing results.


CIVI Dashboard display settings broken in Wordpress install

I would double check the define( 'CIVICRM_UF_BASEURL'      , 'http://example.com/' ); line and make sure that the url exactly matches the Site Address (URL) in http://yoursite.com//wp-admin/options-general.php

I've had issues where one is http://www.example.com  and the other is http://example.com

Next check the CiviCRM resource URL:  http://example.com/wp-admin/admin.php?page=CiviCRM&q=civicrm/admin/setting/url&reset=1 The CiviCRM Resource URL parameter should point to http://example.com/wp-content/plugins/civicrm/civicrm/

Lastly, I'd fire up Firebug or chrome inspector and see if there are any console errors.  I'd want to know which css file is loading for civicrm.  For me it is /wp-content/plugins/civicrm/civicrm/css/civicrm.css


You need to login to the stripe dashboard and disable the webhook.  It has nothing to do with the CiviCRM side.


Editing ACH info for recurring contributions - iATS

You are correct - you can not Edit ACHEFT Card on File via the CiviCRM interface: (left: ACH/EFT; right is Credit Card):

To Edit the Routing + Account Number associated with the ACHEFT recurring series go to iATSpayments.com -> Virtual Terminal -> Customer Database -> Find the record -> hit Edit -> and make Edits to the Payment Information section. This will change the Account Number (or Credit Card) that is attached to the token that is already associated in CiviCRM with the recurring series; Remember to leave your Recurring Payment Settings to OFF here -> otherwise your donor/member will be processed twice -> once triggered from CiviCRM and once triggered from iATSPayments.com


Invoices are sent from the host domain instead of the proper From Address

I think this might be the same type of problem as in Confirmation receipt sent from strange sender address, just maybe a different set of code.


Can I use membership information in a mail?

Eileen did an extension that added some membership tokens to deal with contacts having multiple membership and which do work from 'contact'

{latestcurrentmembership.end_date}

{latestcurrentmembership.allend_date}

https://civicrm.org/extensions/nzcofuzioncivitoken

please let us know how you get on with it


Authorize.Net errors after updating to Civi 4.7

Try this :
This happens only for the payment processor

so please try to delete the payment processor and uninstall the payment processor extension if you have any

Then install the payment processor extension and add a payment processor again

Then clear all your cache and try again


Case reports only work properly for originating user - bug or as designed (or both)?

As per comments it sounds like the report is set to Add To My Reports on the access tab (making it private to the owner).


Membership Types vs Groups vs Organizational Types vs Relationships

These are not the easiest of questions and we may take different approaches. EG we tend to use Custom Fields a lot more than Tags, others do the reverse.

Sometimes it only becomes clear after you have set things up and used them one way, and therefore it can make sense when trying civi out to try multiple approaches.

As you have spotted, Groups are the solution if people are signing up for eg Mailing lists, but even then it could be that the Group is a Smart Group built off a custom field.

To take a stab at your list examples like Endorsers sound like a Tag.

But a Relationship (civi term) is good when you want to keep track of start/end dates, eg if someone was a Partner in 2012-2014 since the history is recorded.

Similarly when you say 'Council', if you mean eg John was on the Council in 2012, then creating a 'contact' for 'council' and giving John a relationship of eg 'council member' means you can both see current council members, and former ones.

Also which CMS you use can make a difference, for example in Drupal you can use Views to publish members of a council, by constructing a View based on Civi Contacts that uses the drupal and civi concept of a Relationship to show all the contacts who have a current Relationship to the contact that is your council.

Hope that helps a bit