Can I use CiviCRM to print mailing labels etc?

While I'm as big a proponent of CiviCRM as anyone - it's worth considering why you're looking to switch if your current tool is working for you.

CiviCRM opens up many possibilities that aren't available with Access - from mass e-mailing to allowing members to sign up/renew online to offering members-only content on your site and more.  However, it won't make you an expert in membership management or plan your renewal campaign.

If you're looking to make your organization more effective by growing membership or making better use of your member data, you'll need a strategy to do so.  That might include upgrading your database.  However, organizations who adopt fancier tools without a strategy often have buyer's remorse, even for a free tool.


How can I setup ACL for user to modify only custom fields?

Your ACL allows to view and edit all custom fields sets. I guess you previously had CiviCRM: view all contacts to be able to see the contacts at all.

You still need to grant a view permission to access the contact or an edit permission to allow any modification to your desired set of contacts:

I'm not aware that you can grant permission to edit custom fields without permission to edit the contact while using the UI.


Why does a user get 'email field required' after submitting a form such as a Contribution page

Looks to me like to me like this was a problem in 4.7.20 and 4.7.21 and am picking this JIRA issue is involved and have created this JIRA issue for the fix.


Import/export database from old CRM version(5.4.0) to New CRM version(5.15.2) in wordrpess

Ashok welcome to CiviCRM stackexchange

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

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

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

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

Cheers

Pradeep


Is there a Gift Aid (UK) extension compatible with 4.6+?

Big thanks for supporting GiftAid extension!

The Civi4.6 branch has been actively worked on in the past few months. A few improvements and new features have been added into the extension. Although the new version is still under testings, we decide to establish an alpha3 release from the latest changes so we can share the results with the community and we can help to push the progress further forward.

Latest changes:

CiviCRM 4.6.x compatibility has been implemented
Added line item support for contributions include more than one item
GiftAid Report improvement

The new pre-release can be downloaded here:
https://github.com/compucorp/uk.co.compucorp.civicrm.giftaid/releases/tag/v3.0beta

You can also follow our Github repository for the latest update.

Moreover, we have recently implemented GiftAid Webform Integration module for Drupal as well. We will open a Drupal project page for this soon. It can be found here:
https://github.com/compucorp/giftaid_webform_integration

Look forward to hearing feedback from you.


Why CiviCRM is not in wordpress.org/plugins/?

CiviCRM is not a conventional plugin like installing other wordpress plugins and requires a lot more work.  You can view installation instructions for wordpress platforms at https://wiki.civicrm.org/confluence/display/CRMDOC/Installing+CiviCRM+for+WordPress


Updating a contact via profile with multivalue custom field will always create new entry for those custom set. The only way you can update is using the contact edit form.

Cheerz

Pradeep


CiviCRM Programmer/Developer Job Description

AGH just posted a job for a junior developer. https://aghstrategies.com/content/civicrm-developer


CiviMail scheduling problem due to timezone issues

I've never changed the scheduled date directly in civicrm_mailing, but it seems like a pretty harmless maneuver.

If your CMS is WordPress, I have a fork of wp-cli here that lets you specify the time zone in which a cron job should assume it runs.  It's specifically to handle a WordPress/Civi multisite where different sites are maintained by users in different time zones.  Each site's cron job runs in that site's local time zone.


Why are subsequent recurring contributions not recorded?

You need to set an IPN.  Instructions are here.  Basically, PayPal needs to send a payment notification (an IPN) to CiviCRM every time they process a payment, so that Civi knows to update the record.  You need to tell PayPal what URL to send those IPNs to.  In my experience, PayPal does NOT automatically find the IPN address - so find the exact path to civicrm/extern/ipn.php in your path and supply THAT to PayPal for IPN.  Also note that PayPal changes their interface all the time, so the place in the PayPal control panel where you enter the IPN URL might have moved.


MapQuest Issue - Direct Tile Access No Longer Supported?

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

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

Change this...

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

To this ...

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

You do want to use https!


How do I add a custom Activity with custom fields to an extension?

And this is an example of a function to create an Activity type

  /**
   * Function to create activity type
   *
   * @param array $params
   * @return array
   * @throws Exception when params invalid
   * @throws Exception when error from API create
   * @access public
   * @static
   */
  public static function createActivityType($params) {
    $activityTypeData = array();
    $params['option_group_id'] = self::getOptionGroupIdWithName('activity_type');
    if (!isset($params['name']) || empty($params['name'])) {
      throw new Exception('When trying to create an Activity Type name is a mandatory parameter and can not be empty');
    }
    if (empty($params['label']) || !isset($params['label'])) {
      $params['label'] = self::buildLabelFromName($params['name']);
    }
    if (!isset($params['is_active'])) {
      $params['is_active'] = 1;
    }
    if (self::getActivityTypeWithName($params['name']) == FALSE) {
      try {
        $activityType = civicrm_api3('OptionValue', 'Create', $params);
        $activityTypeData = $activityType['values'][$activityType['id']];
      } catch (CiviCRM_API3_Exception $ex) {
        throw new Exception('Could not create activity type with name ' . $params['name']
          . ', error from API OptionValue Create: ' . $ex->getMessage());
      }
    }
    return $activityTypeData;
  }


"Save contact and add contribution" button in the contact form

You can solve this by writing some custom code in an extension. You can use a hook to insert this butoon on the contact form which does what you want to do.


Install CiviCRM without installing the database. And install the database without installing CiviCRM

From the excellent interactive documentation here -- https://buildkit.civicrm.org/#/tutorials (which is almost impossible to find unless you know where to look):

## Download application (with civibuild)
civibuild download "mytestbuild" \
  --civi-ver "master" \
  --type "drupal-clean"

There are a number of interesting gotchas. For example, civibuild download does not download dependencies for civi, it only downloads civi and the CMS. So you may wish to run composer install and npm install between these two stages. Otherwise, both will be run automatically next.

Then install the DB and the rest of the application:

## Install application (with civibuild)
civibuild install "mytestbuild" \
  --url "http://localhost:8000" \
  --admin-pass "n0ts3cr3t"


Is there a direct way to clean the Civi Cache?

You will find different ways of clearing cache (as Jon mentions) documented HERE, but I agree with Tony that perhaps the UI would be easier - maybe it's just a question of adding a top menu item on the navigation menu or a button that will trigger /civicrm/clearcache?

Hope this helps!
Tamar


any ideas why my emails are not being recieved, but are not bouncing?

There's two questions here - "Why am I not showing any bounces?" and "why isn't my email arriving?".  I'll try to answer the first one here.

The nature of SMTP (the Internet email protocol) is that a message will be relayed from server to server many times before it reaches its destination.  The first 90 seconds of this video demonstrates this.
CiviMail can only know if it successfully delivered to the FIRST server.  In many situations, that first e-mail will accept ALL emails, and rely on later servers to bounce the message.  However, since the later servers don't connect directly to CiviMail, they can't report a bounce directly.  Instead, they send a "bounce message" via e-mail to the sender.  You've probably seen a bounce message yourself if you've mis-typed an email address and tried sending to an address that doesn't exist.
To address this, most configurations of CiviMail require that you set up an email account specifically to catch bounce messages.  See this documentation on setting up bounce processing.  There are also some gory details here.
If you have NOT successfully configured a bounce processing address, or you haven't enabled the "Fetch Bounces" scheduled job (Administer menu > System Settings > Scheduled Jobs), your mailing reports will always show zero bounces (excepting advanced configurations like a SOAP Return Channel).


How can I fix [civicrm.root] variable on an addon domain?

tl;dr: Uncomment and fill in the define('CIVICRM_CMSDIR', '/path/to/install/root/'); in civicrm.settings.php.

I traced through the functions that go toward building the URL for loadins crm.ckeditor.js.  It seems there's a problem with the logic of the WordPress cmsRootPath function.

I can't tell you what the specific issue you're having that's causing that function to fail; I know it struggles with symlinks, and I'd guess there's other edge cases as well.

If I understand this line of code correctly, in addition to $civicrm_root, there's also a lesser-known cousin CIVICRM_CMSDIR, which is actually the relevant data here.  In my 4.7.22 WordPress instance's civicrm.settings.php, that constant is present but commented out.

See also: CRM-18221 for what appears to be a similar issue on earlier versions of Civi 4.7.


CiviCRM for selection and subscription to paid online content

Very cool!

I think this has webform civicrm written all over it;

First thoughts:

20 Membership types -> 20 checkboxes on one webform
+ annual fee;
inject specific waivers based on Membership type selection(s)

All on one multi-page form!

Use Membership Role Sync to map Memberships to Drupal Roles so you can use Drupal access/permissiom to give hikers access to maps for specific sections from their /user account;

Those are just first thoughts - you can totally get very far native Drupal/CiviCRM on this.


We had similar problem this before and had to manually run mysql commands to fix the indices. This link might be useful to solve the problem.

HTH

Pradeep


Craig - I can't comment on why you might have conflicting ACLs, but want to mention the Permissioned Relationships as ACLs which we built and contributed to provide another solution for multi-level permissioning. You can read about it via the link, but it may suit your need and deals easily with the situation of Staff Member Q needing to access the contacts in two regions, but giving Q a relationship with Region A and Region B, and therefore seeing all those contacts that the Region A and B have permission to access.


It's under admin - localization - date formats.

This link is old but suggests it's only for reports.

https://forum.civicrm.org/index.php%3Ftopic=30822.0.html


Date confusion with relationships - start date can be later than end date

This is almost certainly not intentional.  You can fix it if you're a programmer or have access to one!


Smarty Error when setting Organization Name in civicrm-4.6.8-wordpress?

It looks like some files might be missing in your install. How did you install civicrm plugin?

Packages folder is at /srv/www/wordpress-default/wp-content/plugins/civicrm/civicrm/

Can you check if /srv/www/wordpress-default/wp-content/plugins/civicrm/civicrm/templates/CRM/common/stateCountry.tpl file exists?


I've inherited old CiviCRM data from a Drupal install - how do I get upgraded and running in Wordpress?

If you look in the database, check the civicrm_domain table and see if there is a value in the version field. (If there is more than one record in this table, you are dealing with a multi-site).

Just guessing, but one problem you may run into is that the original database wasn't on Wordpress. Do you know what CMS it was running on?

(e.g. Drupal upgrades support all the way back to v2.2, but Wordpress upgrades start with v4.1.)

So one approach would be to set up Drupal on a development server, upgrade CiviCRM on this Drupal installation, and then move the updated CiviCRM database to Wordpress as outlined in this StackExchange Q&A.


Can I subtract guest fees collected from a membership fee when a user registers

One possibility is when they come out as a guest and pay the fee, you provide them with an automatic discount from the CiviDiscount extension, which is applicable to the full "Member" membership type and is automatically given to folks with a current "Guest" membership.

You may need to play with settings to see for sure if it will work in your case.

Extension page: CiviDiscount
Github: org.civicrm.module.cividiscount

  CiviDiscount: This extension allows the admin to create and manage
  discount codes that can be used on membership and event pages.

  Features:

  Support for price sets and individual items in a price set
  Use of monetary or percentage based discounts
  Automatic discount based on membership
  Generate random discount codes
  Usage and assigned code tabs on a contact record
  Code summary screen displays usage for a given discount code
  Option to apply discounts to additional participants


set minimum or maximum number of tickets a person can buy

Unfortunately, this isn't functionality that CiviCRM offers "out of the box".  If you're a coder (or have access to one, or hire one from https://civicrm.org/providers) then you can add this functionality pretty easily with hook_civicrm_validateForm to create some custom validation rules.


Remove Employer/Job Title Fields and Reorder Fields

You can adjust the order of the panels under Display Preferences here: civicrm/admin/setting/preferences/display?reset=1

The order of your custom data sets will be based on the order of your Custom Data here: civicrm/admin/custom/group?reset=1

Under display preferences you can also hide some fields, but not the ones you're after. We never customize our installations to remove those types of fields. Unless you have the skills in house for those types of customizations, you may end up relying on a developer for each upgrade to hide them every time. Most find that an unnecessary expense and just ignore them.

Heather.


Event registration without online payment

You can configure this with the Pay Later option.

Navigate to the Fees tab.
Enable Paid Event
Check the Pay Later Option


Certain ones can work by just adding option values, but I don't think everything. For example @andy-clark you can do prior 6 months as "ending_6.month" which is supported by the default clause here https://github.com/civicrm/civicrm-core/blob/5.20.2/CRM/Utils/Date.php#L1660

Take a look through that function to get an idea of what works, in particular the default clauses in each section.


Got an error while installing new UI theme shoreditch for civicrm?

I am not sure how CiviCRM will understand drush en to enable shoreditch extension. Shoreditch extension is under CiviCRM not under Drupal. But there is different drush command to install CiviCRM extensions

List CiviCRM extensions

  drush cel

Install CiviCRM extension

  drush cei org.civicrm.shoreditch

Disabled CiviCRM extension

  drush ced org.civicrm.shoreditch

Uninstall CiviCRM extension

  drush ceui org.civicrm.shoreditch

HTH

Pradeep


"Your postal code is incomplete" on Spark signup page

Just double-checking: when filling in the form, after typing the credit card number, do you see the postcode/zip field?

The payment processor (Stripe) displays a different field depending on the country (numeric ZIP for the US, alphanumeric for Canada, etc). I have to admit it's a bit confusing. I will double-check if we can do something about it.
If the issue persists, please do not hesitate to reach out by email at spark@civicrm.org.


Automated email after event registration

You can use Scheduled Reminders (Administer>Communication>Scheduled Reminders) to automatically send an email based on an event type, or even event name.

Alternatively you can use the CiviRules extension(extension found here: https://civicrm.org/extensions/civirules and documenation here: https://docs.civicrm.org/civirules/en/latest/) to do achieve this.


Can I use a custom style sheet (CSS) for user modifications?

Usually I add a section to the theme's CSS rather than editing any core files in CiviCRM.

Note that there is also a "Custom CSS URL" that you can add, and you can also disable the core CiviCRM CSS if you want to. (Administer > System Settings > Resource URLs)


Link Drupal Node Content to a CiviCRM user and add user to a group?

You can use rules module where you set condition upon node submit to perform to add user to CiviCRM group.

Module: Rules/ CiviRules


Price Set Total Amount not displaying and JS errors

CiviCRM Resource URL - long standing bug in Joomla version, still in civi 5.9.0.
Replace [civicrm.root] with absolute URL.


If your payment processor works with webforms possibly you could do it that way.
At least for our configuation we have much better control over the visibility of drupal content rather than civicrm forms.


Where do I find Apache error logs for sites that I installed with buildkit?

Buildkit uses amp to install sites which means you have to look in ~/.amp. Log files are in ~/.amp/log and separated by site.


I want to customise my contact form - New Donor

The language of the question is a bit unclear, but I think what you want is a token that takes just the first letter of the first name.  You don't need to collect it separately to do so.

If this is what you're looking for, please leave a comment to this answer saying so.  I have an extension that adds a "middle initial" token, I could quickly adapt it for your situation.


PHP5.6 has enabled peer verification by default from 5.6.x. The most likely cause of this issue is that the SMTP server's SSL cert does not validate against the certs available to the hosting environment.

So, on PHP5.6+, an SMTP connection via SSL and TLS will fail in CiviCRM if the certificates are not peer verified. This is an issue either with the SMTP provider or your hosting environment's CA chain.

It is recommended instead to resolve the underlying issues with your hosting/SMTP service, but if you want to connect to a server with a self signed certificate (for example) you can patch CiviCRM to bypass this verification.

Change in packages/Net/SMTP.php

line $this->_socket_options = $socket_options;

to $this->_socket_options = array('ssl' => array('verify_peer_name' => false));

Updated: I have updated the comment here since the summary in the ref link has also been updated to include:

  While not recommended in general, it is possible to disable peer certificate verification for a request by setting the verify_peer context option to FALSE, and to disable peer name validation by setting the verify_peer_name context option to FALSE.

The above works around the problem with SMTP failure however it is better to ensure the server is set up with valid SSL certificate and configurations.


Searching by case - would like to sort by subject - greyed out

I found an answer - by editing the file com_civicrm/civicrm/CRM/Case/Selector/Search.php.
I inserted the following line after line 427:

'sort' => 'case_subject',

This makes the Subject column clickable for sorting.


Contact Import German Date Format support?

Maybe, the easiest way is, to open the csv in Excel (or LibreCalc) and do some magic with formulas?

Something like

=SUBSTITUTE(C9;".";"/")

Or even much easier: Open the file in Excel (or LibreCalc) and do some search and replace in the column?

That's the way I would do it, if the file isn't to big for Excel and it isn't a work I had to do every day.


Renewal link mangled by webmail client with ISP

Here is an answer that explains the prefix  https://webmail.west.cox.net/do/mail/message/ that was added to the front of our primary domain. Looking at the CiviMail source for this message (and a number of other similar messages, propagated by copy/paste) the mail source did not specifically set the protocol prefix to "https://". Instead, the source had the default "other". Evidently, most of the ISPs we tested tack just http:// on the front and since we redirect that to https://, everything works. However, the ISP cox.net adds a bit more when the link isn't fully specified. We can't really blame them and there may be different prefixes added by other ISPs. LESSON LEARNED: make sure you add https or http protocol when inserting the contact checksum link (hopefully noone is non-SSL, so it really should be https ;))


Relative date filters (ending.month changed?)

It looks like the (default) options for relative comparisons on dates have been slightly improved (or at least, that would have been the intention). You wouldn't normally want to break a site that was making use of the old ones, so I wouldn't describe that as an upgrade error. Whether the difference is important would be up to you. If you're not using the old ones, then you could update, or even add the new ones.

You can do that with the web interface at: Administer -> System Settings -> Option Groups, and choose Date Relative Filters.

These are intended to be configurable, so the preferred behaviour for upgrades is to not break any existing configuration.


It is quite annoying isn't it? I am not sure if this was the only change I did but I edited the core file https://github.com/civicrm/org.civicrm.volunteer/blob/22eb7ca6dbf99cddb6c43405a88f2cdf83ae7609/ang/volunteer/VolOppsCtrl.js#L224

and changed from 'scroll' to 'click'. Might not be the best way but it worked.


How do I rename an activity used in CiviCase?

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

Latest comment from the core team is:

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


The easiest way would be in your document. For example just make the token bold/colored in your wysiwyg editor, or if you are editing html you can do like {contact.phone}


I believe there is currently a bug. I have submitted a bug report:

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

When I ran into my issue, I was told:

"If you need a quick fix that doesn't involve granting more permissions than users ought to have, take a look at https://docs.civicrm.org/dev/en/master/hooks/hook_civicrm_alterAPIPermissions/."


DB Error on contribution form unless signed in

From the error it looks like drupal username "test@example.com" already exists, when contribution form is submitted, it is trying to add a new drupal user and civicrm contact which is failing because of a duplicate.


Is there a Notification Setting associated with "potential" Duplicates

Currently, there no setting that will email or notify you about duplicates in your system. The only way is searching duplicates and merging them as mentioned by you.


Date Format in CiviEvent Widget is not in German Format

Fixed it!
Set default via Administer -> Localisation -> Date Formats
Date Format: Time Only
%H:%M
Events use the activityDateTime, which can be adjusted here:
Administer -> Customise Data and Screens -> Date Preferences


Drupal View query for select fields produces different results that CiviCRM

If you haven't upgraded Civi to 5.28.4 than apply below patch
https://patch-diff.githubusercontent.com/raw/civicrm/civicrm-drupal/pull/617.patch
https://patch-diff.githubusercontent.com/raw/civicrm/civicrm-drupal/pull/618.patch


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

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

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

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

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


If you set a bulk email address it will be used instead of the primary email address to send your newsletters to. You may even set more than one email adress as bulk email address.


"Implode" / "Database Deadlock" errors on Civi Webform

The error you're looking at is not the real issue.

The real issue (as showing in your pastebin log) is the deadlocks re: group contact cache.

You may need to rebuild some of your smart groups, or disable them.


CiviCRM upgrade from 4.2.7 to 4.7.13 fails to show any report

As I said to your previous post about the same topic here: What tables are used for civicrm reports?

  4.2->4.7 is a huge upgrade. Swathes of tables - including Activities and Settings - have changed. If you have any custom reports or
  extensions these definitely will need to be upgraded without a doubt.

As ErikH said:

  Assuming you are using customized reports and do not have a
  CiviCRM/PHP developer in your staff, you have to find a CiviCRM
  expert/developer to do this for you

Upgrading these reports will require a coder to change their code to point them to the new database tables used by CiviCRM. There's no workaround. Code for custom reports will need to be changed. Tell your next developer to use the CiviCRM API if possible!


civicrm dropdown list not appearing on the same popup but underneath pop-up's layer

We are having the same problem and its annoying as we can't added Shortcodes. Another post from 2016 found it was a CSS conflict with Slider Revolution.

Dropdowns in the admin area appear underneath the modal window.

Using the Function snippet didn't fix the problem for us or changing the CSS.

One hack around this that works for us is:

Click the dropdown
Move drag the pop-up box to one side to see what the dropdown displays
Click the dropdown again to close it
Click the dropdown once more
Use the curser keys to select your dropdown option
Hit the Enter key on your keyboard to select the dropdown option.


Migration to new server - "The requested page "/" could not be found."

Make sure you have migrated Drupal correctly and all of the non-CiviCRM portions of the site function correctly.

Sometimes the .htaccess file doesn't get transferred with FTP and
it is an important file.
Also, migrate the same filesystem/version
from one server to the other, and be sure to upgrade as needed to
keep things secure (either before or after the migration).

At that point if Drupal is working correctly you can focus on CiviCRM.


Notice: Undefined index: value in noverwrite_civicrm_buildForm()

the message gives a notice, that is a low level message that does not signify a "real" problem, rather that the program should do an additional check to make sure it meets the syntax rules.

So although the notice can be fixed, I would recommend you log the issue on the actual extension repository (https://github.com/TechToThePeople/noverwrite/issues) and rest assured that the notice does not present an urgent problem that needs fixing immediately.


To add to Erik's, here are three advantages to separating the databases:

1) Upgrades.  When we are working to upgrade Civi, I know that the website side of the house is largely unaffected (not completely unaffected, but mostly), and if something in the upgrade goes awry, I'm only having to deal with the Civi side of things (especially in the event of downtime).

2) Restoring backups.  Should you need to restore a backup of your website (like we did last year), you are only losing the web changes made since the backup, not the Civi changes as well.  The same is also true if you need to restore the Civi backup -- you then don't lose the website changes made since the restoration point.

3) Multi-site installations. See the documentation here: Multi Site Installations


Date of birth -- months only show through September

The choice of months is restricted because the date-picker does not allow future dates to be chosen for the birth date field.

First select a year in the past.
Then you will see all months available to choose.


A CiviCRM group is mapped to the list ID of a Mailchimp list or interest which is not available (deleted on Mailchimp, or belonging to another Mailchimp API key, or ...). Review the groups which are syncing to Mailchimp, and make sure each one of those connects to a current / valid List or Group in Mailchimp.

There are DB tables you might be able to identify the specific group ID from. Look in civicrm_value_mailchimp_settings

mysql> select * from civicrm_value_mailchimp_settings;
+------+-----------+------------+----------------+-------------+-----------------------+
| id   | entity_id | mc_list_id | mc_grouping_id | mc_group_id | is_mc_update_grouping |
+------+-----------+------------+----------------+-------------+-----------------------+
|    1 |       123 | aabbccddee |                |             |                  NULL |
|    2 |       124 | 1122334455 | beadbeadbe     | aceaceacea  |                     1 |
|    3 |       125 | 9988776655 | facefacefa     | deadeddead  |                     1 |
+------+-----------+------------+----------------+-------------+-----------------------+

The column entity_id is the relevant CiviCRM Group ID, and you'll see e33355b9f6 in one of your other columns I expect.


"Lastname" is the field intended to insert both surnames for the contacts they have. The translation of the field in Spanish also indicates it: "Apellidos".

For more than 5 years we have worked with CiviCRM and to date we still have not encountered any inconvenience in saving both surnames in a single field.


Here's another option - for when you have tons and batch update via the GUI is daunting:

Export all contributions that have a financial type you'd like to change; Export contribution ID + Financial Type ID

Make the edit in the CSV that is generated

Re-import!


what is a "unique open" in a mailing report?

The difference is this, If someone opens an email immediately but then opens it again later on to read it again. CiviCRM will mostly likely track both opens. So in the Total Opens column stat that will = 2. However in terms of unique opens given that its the same person opening twice the unique opens = 1.

Hope that helps


There should be a 'Delete contribution' option in the list of actions:

If you don't see it there, check that you have the 'Delete contributions' permission.


How do you update participant status without affecting contributions?

Ben -

To your immediate question, you should be able to use the search builder (Search > Search Builder) to search for payments where the check number is empty (or null - it might be safest to search both ways).

You didn't indicate your version of Civi but it is usually possible to update participant status without recording payment - I doublechecked this quickly on the 4.5 demo site by searching for participants and selecting "Change Participant Status" from the actions menu; when I changed the status to Attended from Pending from Pay Later, no payment was recorded.  (Thinking ahead, you may want to add a different status to distinguish users who attend without paying, so you can easily find them later for collecting payment.)

Hope this helps,
Lesley


Do sites without SSL now need one for PayPal IPN?

No, PayPal state that SSL will not required for IPN. I contacted PayPal MTS to confirm and got the responses below:

PayPal seem to be saying

if you have SSL yourself, your certificate and its chain need SHA-256 not SHA-1 both for PayPal and modern browser support,
when you connect to their server, your webserver must accommodate their SHA-256 certificate. Most hosting environments will be fine, but older envs lacking SHA-256 support in SSL libs won't.

PayPals docs are a bit unclear (hence your question!), but they seem to be stating certificates must be SHA-256 rather than all sites require a certificate. In particular the graphic at top of 2015-2016 SSL Cert Change Microsite) can confuse since it says "must be running a SHA-256 compliant server".

My assessment, based on the following (later confirmed via PayPal MTS), is that non-SSL IPN will still be supported. Rationale:

Requiring SSL for all sites would be a big business change; it would kill IPN on a lot of small orgs who don't have the $$ for SSL hosting.
PayPal's IPN simulator does not validate the protocol for SSL. If this was a requirement, they would implement it in their simulator.
PayPal's IPN simulator works using plain HTTP, fails when using SSL to a SHA-1 cert site, and works when using SSL to a SHA-256 cert site.
PayPal's docs refer to "SHA-256 compliance" and seem to say "require SHA-256 compliant cert" rather than "require a cert".

I've submitted a support question & asked PayPal on Twitter (1, 2). Will update if we get a canonical YES or NO - we have multiple clients asking the same.

Update: Initial responses (reply from MTS, Twitter) are that HTTP IPN will be a supported use case after SHA256 rollout.

Update 2: PayPal Merchant Technical Services have replied that IPN over plain HTTP can be supported once 2015-2016 SSL migration completes. Answer updated.

Update 3: Adding confirmation from @PayPal_Frank in a paypal-community.com forum question

All that said - I recommend that ALL organisations using CiviCRM should SSL their traffic for contact privacy. Read Joe Murray's post on the CiviCRM blog and consider your contact's privacy - SSL is inexpensive and helps build trust; it'll probably pay off for your org.


Can I override core classes or PHP files with custom versions?

The answer is "yes" but...

Overriding an entire file means upgrades will become difficult, as you'll have to manually diff the contents of that file with the one in the new version, and reapply your changes.

If possible, try accomplishing your goal using a hook.


Why can't I have CiviEvents without dates?

It makes sense to me that you might want to do it that way, unfortunately CiviEvent does not allow it as it is now. Can you add your enhancement request on the CiviCRM issue tracker? (https://issues.civicrm.org/)


Bulk assign contribution page based on contribution type?

Have you tried exporting those member dues contributions (including their contribution IDs as well as their Civi contact IDs), adding a column for contribution page ID, and importing that information back in as an update of the existing contributions?  If you've not tried that, it might be worth testing with a small subset of those member payments to see if you get the results you expect as far as updating the information.

Lesley


Your dedupe rules aren't probably tight enough so instead of seeing that the contact exists already, it creates a new one.

The fact that your getting dups also probably says you are doing multiple imports with the same CVS.  When I do imports I often do run the same file more than once, but the key difference is if the contact already exists and you are say adding them to a household, you should check the update box on the import instead of the default.

So having said all that, if I'm importing new hh and individuals and trying to create the relationships, I will import the hh and ind and give them an external id.  The external id can be anything, number, letters, a combination.  Then I use that external id as the link for creating the relationships, importing contributions, etc.  The external id has to be unique unlike names and email so it won't create new contacts when it doesn't match like it does with just names.


It will not restart automatically, the requirement to restart from 1 (with a year somewhere in the invoice number?) is depending on countries AFAIK :-)

So what you need to do first thing in the new year is navigate to  Administer>CiviContribute>CiviContribute Component Settings and update the invoice prefix (and the credit notes prefix if you need that too).


You're using mysql_query, which is deprecated in both PHP and modern versions of Civi.  The code isn't running forever, it's failed with an error - you should be able to find that error, most likely in your CiviCRM log.

While you could use mysqli_query, the better choice is to use a wrapper, which should give at least partial future-proofing.  Here's my (untested!) attempt at a rewrite:

Use:

$check = CRM_Core_DAO::executeQuery("SELECT * FROM table WHERE code = '$invoicenum'");

if ($check->fetch()) {
  // WARNING
else
  // OK
}

Note also that if you're using the post hook, the data has already been written to the database.  I would put this in a validation hook or an API Wrapper hook if you're trying to prevent the data being written.


Seems like apache mod_security was the culprit. I deactivated it temporarilly and CiviCRM Case Types page works just fine. Now I need to find out exactly what rules are causing the issue.

EDIT: In my case I added the IDs for REQUEST-42-APPLICATION-ATTACK-SQLI to the ModSecurity whitelist and the issue disappeared. I realise this is probably not ideal - it would be better to write an exception rule just for civi queries, but that's beyond my current knowledge.

I think the CiviCRM dev or docs team needs to look into this as likely more people will have this type of server configuration by default.


Joomla: Warning: Missing argument 1 for CRM_Utils_System_Joomla::getDefaultSiteSettings()

The issue was reported on JIRA here: https://issues.civicrm.org/jira/browse/CRM-18411

The patch can be found here: https://github.com/civicrm/civicrm-core/pull/8164

The patch was merged in, so it is fixed in 4.7.7 onwards.


I might be missing something but, the contribution.contribution_id variable you are referring as a standalone variable I believe is a token, I can't figure out what's the smarty variable for it but you can do this (it works):

{capture assign='id'} // the variable
   {contribution.contribution_id} // here is the Contribution ID token
{/capture}

And then your API call:

{crmAPI var='result' entity='Note' action='get' sequential=0 entity_table="civicrm_contribution" entity_id=$id}

Update: final snippet should look like this, I've just tested it

{capture assign='id'}{contribution.contribution_id}{/capture}
{crmAPI var='result' entity='Note' action='get' entity_table="civicrm_contribution" entity_id=$id}
{foreach from=$result.values item=note}
  {$note.note}
{/foreach}


How to synchronise Drupal users with CiviCRM organisations

I  think it is reasonable to give an organisation a Drupal account. After all, an organisation can also have an email address and a phone number. But I tried to create an organisation-Drupal account combination from the interface on a CiviCRM 4.7.15, but I did not succeed. I tried the following scenario.

I created an organisation with an email address.
I created a Drupal user with the same email address.

Result: two contacts in CiviCRM, an Indiviual and an Organization.

But under the hood, using SQL, you have more options.

Insert or update the connection record in the table civicrm_uf_match.
Update in SQL the type of a contact (the column is contact_type) from Individual to Organization.

I tried this and the Contact View looks fine, and the record is not duplicated when I run the synchronize users job. This suggests that you can do this for a small set with some SQL manipulation, and for a large set you can create an extension.


The username and password are for a WordPress user.  I would recommend setting up a user specifically for this purpose and don't use it for anything else.

You will need to give the user the correct permissions:

View all contacts
Access CiviCRM
Access CiviMail

Please see the documentation for more details: Scheduled jobs

You will need to set the site key in the civicrm.settings.php file - see: Site key


What time of day are Scheduled Reminder Event Emails sent?

This varies but is configurable.
If you go to Administer menu > System Settings > Scheduled Jobs you'll see a job called Send Scheduled Reminders.  It will also say what time the job was last run.  It will run 24 hours from the last time it was run.
You can edit the job to force it to run next at a given time. It will then run 24 hours from when it was previously run.
A good improvement would be to allow specifying a time, which should be possible these days - CiviCRM stores a time internally to deal with timezone issues.  This would be especially helpful for users who have modified the scheduled job I mentioned above to run more frequently than daily.


Why does the user not get a "transaction complete" or "success" confirmation message after submitting an online transaction?

The answer is that I'm not sure why this is no longer working for you.

All our 4.6 sites have been upgraded to 4.6.26 and are using iATS
1.5.3 and I've had no reports of anything breaking.
I've just confirmed myself by making a donation to one of our projects that I
get to the Thank you page.

There is a bit of Javascript on that Make Contribution button. Ask your developer/support to open up a Firebug/Console to start the hunt as to what may be going on with your Contribution page.

From your Comments I see DOMPDF is throwing an error -> it is known to blow up at times - best to disable PDF creation for your receipt. It's one of those obscure settings under Misc -> civicrm/admin/setting/misc?reset=1 -> hit No on Attach PDF copy to receipts.


Perhaps the best free explanation of CiviCRM's deduplication is from the CiviCRM blog last year (July 31, 2014): Understanding CiviCRM Dedupe Rules
For the whole process, I will let the author speak for themselves as it really is an excellent write up and worth reading in its entirety to understand the deduplication system.
For this question, I suspect the issue comes down to the usage of the rule.
Quoting the author of the blog post (from point 2):

Unsupervised rules are rules that are automatically checked when a user enters contact info into a form on the front end of the site (for example, when registering for an event, making a contribution, etc.). If a match is found, CiviCRM automatically merges the new contact into the old one, without checking with the user....

Supervised rules, on the other hand, are rules that are automatically checked when an admin or staff member enters info into the back end of the site (i.e., the admin interface). They do not automatically merge the contacts — they just trigger a pop-up suggesting that the contact may be a duplicate....

General rules are not triggered automatically at all. They can be run manually from the "Find and Merge Duplicate Contacts" page, or selected to run during a data import, but they do not ever just run on their own....

Rachel, based on your question, it looks as though your rule is setup correctly, but it is most likely set as a general rule, not the unsupervised rule for individuals. If you change the usage, I think you will find the results you're looking for.
Side note: for perhaps the best paid explanation, Civiteacher.com has excellent videos about CiviCRM deduplication.


Network Error when pushing CiviCRM button

Your page edit screen shows (I think) a URL of the form 'http://domain.ca/civicrm/wp-admin...' whilst the 404 error is looking for 'http://domain.ca/wp-admin/admin.php'. This suggests to me that you're using WordPress Multisite with CiviCRM active on a site that is not the main site. This is not supported at present - CiviCRM is only functional on the main site of a multisite instance.

Edit: this URL schema could also be the result of installing CiviCRM in a sub-directory. This is also unsupported, though it's an issue that's being addressed.


How can I specify which location type address to use for a proximity search

If you're on Drupal you can do this via views (where you have full control over which field types you pull in).

Here's a good example:
Views Proximity Search on Latitude / Longitude


Do you have the inbound email processor configured? It has that as output. And it sounds like you are sending cron logs to the email processor.


Civi site is not verifying reCAPTCHA solutions

This has been fixed recently as a bug. I would expect to see this in 5.32 or 5.33. It may make a patch release and be available sooner.
Link to PR


How can I determine if an extension is compatible with a new Civi version?

If you go to the Extension page eg https://civicrm.org/extensions/civivolunteer then you should see a RELEASES section near the bottom which states what version of CiviCRM the extension is known to work for. This may be obvious, but your question doesn't explain what you have already done to check.


How to set password on backend user-creation?

In 5.37 there was a bug that hid the password field. This is fixed in the 5.37 branch but 5.37.3 hasn't been released yet, otherwise it will be in 5.38. If you're on 5.37 you can just replace the CRM/Contact/Form/Task/Useradd.php file with this one: https://raw.githubusercontent.com/civicrm/civicrm-core/5.37/CRM/Contact/Form/Task/Useradd.php
Note that in wordpress if the wordpress configuration says to allow anyone to register, then the password field is intentionally hidden because it was decided that the user should set their own password using the link in the email.


How to prevent CiviCRM contact from receiving emails for Scheduled Reminders

From UI you can set the contact email to 'On-hold' this will prevent contact from getting any automated email from CiviCRM. The other option is use to mailing hooks to abort emails being sent based on some flag set for the client.

HTH

Pradeep


CiviMail is only sending to half the recipients

Some pointers on how to debug this a bit further. Links are to the CiviCRM demo site - visit http://dmaster.demo.civicrm.org/ and log in. (WordPress / Joomla URLs will differ.)

Check output of "Send Scheduled Mailings" scheduled task.

http://dmaster.demo.civicrm.org/civicrm/admin/job?reset=1

This is the task which delivers CiviMail messages. It's executed from cron regularly, and there's a log visible at the URL above ("View job log" for "Send scheduled mailings"). Check if there's any output there. (If there are no job log messages, it's not getting executed!)

Check your cron setup

https://docs.civicrm.org/sysadmin/en/latest/setup/civimail/#setting-up-the-cron-job

CiviCRM and CiviMail depend on cron - scheduled jobs triggered by the system. A single CiviMail may take several cron runs to deliver all the emails. This task should be executed by the system somehow. The task will be run in the console and may generate output (success or failure). It should be executed as the webserver user for filesystem permissions, and ideally set up to capture output so you can investigate if it's not working as expected.

Investigate your mailserver logs

Use tail / grep etc to observe the mailserver logs and see which addresses get messages queued for them. It sounds like you've already established that the missing messages never get there, but worth including in this list.

Get support

Professional support
Community support via chat
You can link to your question here to save explaining over!


How to combine event registration fee and sponsorship donation in one price set?

The participant count is only participants for the particular price set field. You're right that no matter what you do in the price set, the contact will be registered for the event. You could instead ignore who is registered for the event and just look at who is registered for the relevant price set field and use that as your group of registered participants. That might be less than ideal.
Otherwise, this sounds like a job for Webform CiviCRM, assuming you're on Drupal. Be warned though, that Webform CiviCRM will force you to use line items to record the donation and registration. I could be wrong, but I don't think Webform will allow you to record two different financial types depending on user selections.


Recent Items Block Does Not Show Recent Items Unless There Are Report Results

Can you try this patch? https://github.com/civicrm/civicrm-drupal-8/pull/62
More discussion in ticket https://lab.civicrm.org/dev/core/-/issues/2387
UPDATE: should be fixed in 5.36.0


One way is to look in the MySQL database directly, if you have access to it. Each table is defined with comments for most of the columns, and I have found them to be quite useful.

A great way to inspect the databse directly is to use MySQL Workbench. You can right click on the table and choose Table inspector. Here's a screenshot of it which demonstrates its ability to display field comments...

Other database inspection tools like phpMyAdmin should have similar functionality.


How to change CiviCRM Home to a different page (not Dashboard)?

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

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

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


How to set API ContactType parent_id NULL or how to rename label?

Rename ContactType label

$result = civicrm_api3('ContactType', 'create', array(
  'sequential' => 1,
  'id' => 1,
  'label' => "test",
));

This example will rename ContactType Label

I guess this helps !!!!


How do I notify our targets that a petition has been signed?

The extension "Petition Email" should let you do this in CiviCRM.


How can I display that an event is full on a Drupal View?

One approach would be to use the views_php module to embed a civicrm_api3 call to find out if the event is full, then print the result into the view. E.g.

$event = civicrm_api3('Event', 'getsingle', array('return' => 'is_full', 'id' => $row->id));
if (!empty($event['is_full']) {
  print "Event is full";
}


Membership Pay later and Activity Renewal

On the demo site I took the following route and saw no issues

change the Contrib page to accept Pay Later
completed a Pay Later membership for the demo user
confirmed that by then clicking on Edit for membership at backend, clicking on the Contribution block with 'more' and 'record payment' the membership was set to Current and there was no 'renewal' Activity on their record.

Hope that helps

Data will be on https://dmaster.demo.civicrm.org/civicrm/contact/view?reset=1&cid=203 for less than 12 hours till it is flushed.


CiviBooking Wordpress Error on Adding Resouces

You could just remove the protected $_id = NULL; line in uploads/civicrm/ext/uk.co.compucorp.civicrm.booking/CRM/Admin/Form/Resource.php, since it's defined in the base class as public.


Logged out periodically for unknown reason and word replacement not working

I've solved the problem with the name change:

I used the word replacements function.
When you check 'Administer > Contact Types' it looks like the 3rd Contact Type has changed...
BUT you still need to 'Edit' and specifically change it


CKEDITOR is undefined when form is being loaded in model frame outside of /civicrm/ path

Since you are using 4.6, the answer is that you need to ensure templates/CRM/common/wysiwyg.tpl is being loaded and that the smarty variable $includeWysiwygEditor is set to true.

Or since you are hacking around CiviCRM anyway, just keep it simple and stick something like this in your page source:

<script type="text/javascript" src="/path/to/civicrm/packages/ckeditor/ckeditor.js"></script>


Short answer: no - you would need at least a little bit of code to achieve this.


Added scheduled reminder not showing in admin

It's not just a double HTTPS - one of those is missing the colon between the https and backslashes.

Check Administer menu > System Settings > Resource URLs, and also civicrm.settings.php for https//.


zero s after the decimal in simple donate

Short answer: I've prepared a patch that I'd love for someone to test to fix this.

Longer answer: In recent months, CiviCRM has implemented support for currencies with more than two digits after the decimal point.  This is important both for cryptocurrencies as well as certain countries' tax calculations.  The decision was, "Store all currencies in the database with nine significant digits, and when displaying them, format them according to the rules of that currency."

This all happened in CiviCRM core and it went so well that end users who didn't need the greater accuracy didn't notice.  Unfortunately, no one updated Simple Donate.

I don't use Simple Donate, but recently handled a similar problem in my custom code, so I looked and it was a 4 line fix.

I'd love for someone affected by this problem to test my patched version and report back if you have any problems with it.  If there are no issues, I'll submit the patch to the original authors. I'd especially love feedback from users who don't use US dollars as their currency!

Find the fix on my Github repo or download directly.  When unzipping, please be sure to rename the folder to match your old extension folder name that you're replacing.


Upgrade from 4.6.10 to 4.6.16 states DB already upgraded to 4.6.10

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


Sync smart group to WordPress role, group, or capability

I would move to using groups and not roles for permissioning because it gives you more flexibility. People can be in multiple groups then.

There is the CiviCRM Groups Sync which syncs a regular CiviCRM group to a WP group. So that may be an option by auto-adding members to the CiviCRM group and creating their WP user at the form-level.

The other option is to improve the plugin by having it sync smart groups.


How to allow users in ACL group to add & remove contacts in groups

Can you try apply patch from here ? If the patch works for you than it would be worth adding your test result on PR to speed up the merge process.


Is there an easy way to provide a link to an online event after user has registered?

CiviCRM uses the "system workflow templates" "Events - Registration Confirmation and Receipt (off-line)" and Events - Registration Confirmation and Receipt (on-line)" for its automated event emails.
You would need to edit those to include general information you would like to display for each event. This can be a bit tricky as all kind of process logic is crammed in the template but it should be doable. Be aware that you can use api calls to pull certain parameters in order to use within the template.
Additionally, in every event configuration screen (tab online registration) there should be a little text box that allows you to add some event specific text to the email.
If for some reasons that does not work for you, you may want to get in contcact with us as we are currently developing a coherent "event email extension" that allows users to easily set up event mails with certain trigger rules and provide many additional features. We are still looking for funding to complete the extension and it's documentation.


two identically configured users see different list of contacts

Before trying anything else, clear your caches.  Find it under  Administer menu » System Settings » Cleanup Caches and Update Paths.

After that, make sure you're setting both the user roles AND the ACLs correctly - but assuming you've done that, the best advice is at https://shouldiblamecaching.com.


Scheduled reminders triggered by new relationship

I think using the CiviRules extension (to be found at https://civicrm.org/extensions/civirules) will help you with what you want to achieve.

You will also need to install the Email API extension (found at https://civicrm.org/extensions/e-mail-api) to be able to use the CiviRules action to send an email.

I do not know if the trigger 'new relationship' has been thoroughly tested, but you start should be to read the CiviRules documentation and see if this might do the trick.


Webform CiviCRM not showing credit card payment fields

Webform-CiviCRM integration is not yet compatible with CiviCRM 4.7.  See here: https://www.drupal.org/node/2661232


Can't disable debug/backtrace on WordPress

If you have command-line access and wp-cli enabled (with the CiviCRM extension), you can run: wp civicrm disable-debug.

If you don't have command-line access, run the following SQL via PHPMyAdmin or similar:

UPDATE civicrm_setting SET value = 'i:0;' WHERE name = 'backtrace' OR name = 'debug_enabled';


Child groups with all parents disabled shows in group list

Well, you could still have contacts assigned to a (enabled) child group, so I don't find it very surprising you can use it on search.

More generally, what enabled/disabled means in the context of group hierarchy is probably not fully clear, and it's likely that different users expect different things, and it's especially true with multiple hierarchical relationships.

Wouldn't it be easier you disable the child groups when you disable the parent (assuming it's not happening too often)?


Online receipt change in 4.7: Wrong template is being used

You can update your CiviCRM ticket to tell them that $contributeMode is being set to "notify" for credit card payments, which is why credit card information isn't being printed.


Is there an error in the log file in sites/default/files/civicrm/ConfigAndLog/ ?


how can I change the contact type for one contact (to/from individual/household/organization)?

Say you want to convert from an individual to a household. One very hack-ish way is as follows:

Create a new household with the desired household name.
Note the "contact id" values for the individual (INDIVIDUALID) and for the newly created household (HOUSEHOLDID). (You can find this "contact id" value at the bottom of the screen when viewing the contact where it says something like "CiviCRM ID: 2345". Also this id value is in the URL of the page where you view the contact.)
Manually navigate to the following URL where you will merge the two contacts. In this URL you will have to replace "HOUSEHOLDID" with the id value for your newly created household and replace "INDIVIDUALID" with the id for the individual you want to "convert" to a household.

http://example.com/civicrm/contact/merge?reset=1&cid=HOUSEHOLDID&oid=INDIVIDUALID&action=update
Check all boxes, except make sure "contact type" and any "name" fields are un-checked
Merge the individual into the household.


REST API - how to write new options for a custom field with select type?

Use CustomField - get method to get data for the select custom field who's options you want to edit. Note down the "option_group_id" value.

Then use the OptionGroup and OptionValue API methods with the Option Group you just noted. With this you can add new options.


Logged in user registers for an event on behalf of a colleage, unintentionally overwrites their contact record details

Here’s the solution to the issue you're facing –
https://civicrm.org/extensions/no-overwrite


PayPal recurring payments delayed by days

If it's a 5-day delay, it's almost certainly because their card was declined the first time.  5 days is the default delay when a card is declined on a recurring payment.  It then tries again 5 days later, at which point the payment isn't retried.  That used to cancel the subscription, but now it goes into a "missed payments" field on the subscription.
You should be able to check the subscription for an explanation of what happened in the period between the initial attempt and the successful one.


Where should I put static files in my extension that are just used in certain few pages?

Typically your extension directory would contain subdirectories named css and js and resources of those types would go in there.

To load them on-demand, use CRM_Core_Resources.


Unable to give provider name by using SMS Api Extension

Sandeep are you looking to setup SMS in CiviCRM?

We successfully setup SMS in CiviCRM 4.6.8 using Twillio - https://www.twilio.com/

We followed the exact steps here - http://wiki.civicrm.org/confluence/display/CRMDOC/Setting+up+a+SMS+Provider+for+CiviSMS

and use From=614111111111 where 61 is the country code (Australia in our case).


Civi can't do this in the UI, but if you're comfortable using the api explorer you could. First you need to find the id of the participant record (not the contact id of the participant) and the contact id of the person you want to transfer it to. Then user the api explorer to do Participant > Create with id (of the participant record) and contact_id (of the new contact).


I suggest you install the extended reports extension and see if one of those reports does what you want. The extension provides many reports and is well maintained.

If it doesn't provide what you want, perhaps reviewing the code of extended reports that do group by financial account code will help you find the answer to your problem. (Sorry I am not a coder, so can't provide any help with that.)

Also are you sure you need the information on the individual transactions and the account code totals in the same report. My understanding is that often it easier to do one or the other on a given report, rather than both. That is why there are summary and detail pairs of reports. (eg for Donor Details and Event Income).


/civicrm-stable/5.17.5/civicrm-5.17.5-l10n.tar.gz does not download

Why not get it from https://civicrm.org/download that seems to work OK


Targetting CiviCRM input field labels with css

You can use an attribute selector in css, for example

  label[for="middle_name"] {   display:none; }

For more info see:
http://www.w3.org/TR/CSS21/selector.html#attribute-selectors
or
https://stackoverflow.com/questions/2599627/how-to-select-label-for-email-in-css

Does even work in IE, from version 8.


What are best practices around newsletter signup on contribution page, profiles and contact seeing their donation history?

You can do this by including a checksum link in your emails that returns the user to their contact dashboard and allow them to edit it.

You can also use a checksum link to a profile to let them update things.

it'd be something like the following

http://mydomain.org/civicrm/user?reset=1&cid={contact.contact_id}&{contact.checksum}


It depends on the upgrade i.e from 6.x to 7.x to 8.x. If its a simple and internal version i.e 7.12 to 7.29 than you can perform update directly and you won't have problem in CiviCRM but if its from 6 to 7/8 then you will need to replace the CiviCRM files with same version for D7 or D8 and then clear CiviCRM cache(probably delete template_c).

  Note: Backup Database and filesystem before performing upgrade.


CiviVolunteer - Functions Not Working after Security Update to Civi 4.7.21 on Drupal

Ron. This is a known issue. CiviCRM made some changes to its Angular (a JavaScript library) integration that CiviVolunteer needs to catch up with.

CiviVolunteer is maintained by an independent consultancy, Ginkgo Street Labs. We would like to resolve this problem as soon as possible, but we have a full slate of projects that, as a small business, we need to prioritize ahead of unfunded work. If your organization is able to contribute developer hours or funds toward resolution of this problem, please contact us.


Rotate SMS providers to get around 200 messages per day limit?

That is a total hack, and is therefore the wrong solution to the problem.

If they have these limits it's for a reason. Ultimately Twilio may be the wrong provider for you, or you're on the wrong plan with them.

Suggestion: research other providers.


It's complaining about not being able to open CRM/Core/ClassLoader.php  Does that file exist?  Are the permissions correct to allow the webserver to read that file?


Try:

Works for us, using wkhtmltopdf rather than the default.


OK for others searching this is what I found works

 $sections = array ( 'mybreakcolumn' => array (
                  'title' => 'Rep Name',
                  'type' => 2,
                  'section' => 1,
                  'pageBreak' => 1,
                  ));

                  $this->assign('sections', $sections);

Where mybreakcolum is the full column name sent to the template


How do I center images or align text via CKEditor? Can I add more functionality?

A frustration I have had with CiviCRM has been the inability to center images or align text without modifying source code.  This frustration was recently resolved by visiting

Administer -> Customize Data and Screens -> Display Preferences -> Configure CKEditor

At the top of that page you will notice you can customize the skin (I recommend Moono-Lisa) and to the right of that - Plugins. You can search for CKEditor plugins and add them to CKEditor. You can also customize each toolbar for CiviMail and Events - or choose to have them mirror the default.

In order to justify text - I recommend the Justify plugin and the Image2 plugin.  Now you should be able to justify text and images as you like.

There are other plugins that provide other functionality, but do your research before adding them. the CKEditor site has explanations of each plugin.

Note: you will likely have to clear your local cache in order to see these changes.


This was an issue prior to 4.6--you couldn't have more than one instance of CiviCRM content on a screen.  Christian Wach did a lot of work to change this for 4.6--that's why he was asking what version you're on.

In short, if you're not on 4.6, upgrade.  If you are, you may have found a bug.


Why don't links work from CiviCase Dashboard to filter by case type?

This is fixed in newer versions

//find the code change here.. every time you click on dashboard link, in the CRM/Case/Form/Search.php file line number368,369, its hard coded to 1. it needs to be $caseTpe(which is getting the actual case type value)

 $this->_formValues['case_type_id'][$caseType] = 1;
  $this->_defaults['case_type_id'][$caseType] = 1;

change the above lines to use $caseType variable:

  $this->_formValues['case_type_id'][$caseType] = $caseType;
  $this->_defaults['case_type_id'][$caseType] = $caseType;

hope this helps some one


Event registration confirmation mail: Can I suppress certain custom fields?

Administer -> Communications -> Message Templates -> system Workflow Messages

Where you can find all the message template for all Emails so find the Event registration template (Events - Registration Confirmation and Receipt (on-line / off-line))

and remove your custom field which you don't want to send


Contact Form 7 CiviCRM integration not connecting to remote CiviCRM website

I used Caldera Form instead of Contact Form 7 on the remote website, I added the plugins "Connector to CiviCRM with CiviMcRestFace" and
"Integration of CiviCRM's Form Processor with Caldera Forms". In the parameters CiviMcRestFace Connections there is the same interface as CiviCRM Contact Form 7 Settings but the path you have to input is different. When you create or edit the form with Caldera don't forget to add a processor in the processors tab, and make sure this processor connect to the Form Processor you created on CiviCRM.


How do I pass a variable to a smarty template?

I found a way to achieve the goal, although I'm sure there are other ways and possibly a more correct way.

In the module, assuming the value of $var is already set, in the module I have:

 $form->addElement('text','my_var', $var );

  // dynamically insert a template block in the page
   $templatePath = realpath(dirname(__FILE__)."/templates");
    CRM_Core_Region::instance('page-body')->add(array(
      'template' => "{$templatePath}/testfield.tpl"

Then the template file is this.  My data appears under 'label' instead of 'value'.  It does work though.

{* template block that contains the new field *}

The value of var is: {$form.my_var.label}

{* reposition the above block after #someOtherBlock *}


Subscribe to mailing list through the API

The mailing list is actually a group in CiviCRM. The functionality of a group is bit more than just mailing list, but fine if you only want to use it for that.

It means that all you have to do is add the contact to the relevant group using the GroupContact API AFAIK.


It is possible to deduplicate contacts entered in a Webform?

They are merged, based on the "Unsupervised" deduplication rules: civicrm/contact/deduperules?reset=1

By default the unsupervised rules for individuals are based on email-only.
So if someone fills in a Webform with an email that already exists in civicrm then those data will be merged.

You can change these rules: http://book.civicrm.org/user/common-workflows/deduping-and-merging/


CiviCRM Events (WP) - error message "this contact has already been assigned to this event"

This could be the outcome if you did a 'test' registration.

You can search for 'test' via Find Participants.

If you did, it is possible this would block you from registering again.


There isn't anything exactly like what you're looking for. You can set a case as related to another case, so your parent case could be related to all its child cases. On Manage Case add an activity of type "Link Case", and then on both Manage Case screens that linkage will appear.


Why am I seeing two identical payments associated with one contribution in 4.7.x?

No it's not an issue with the iATS Payments Extension.

I got this question - and have reproduced it using 4.7.7 and iATS Payments Extension [note the transaction IDs are identical]:

But I also get this on the
http://dmaster.demo.civicrm.org/civicrm/contribute?reset=1
[today May23 at 9:40MT] - again: note the transaction IDs are identical:

I will file a JIRA issue for this - Please note that iATS Extension is officially still on the 4.6.x (LTS = Long Term Release).


Why do I get `(Object) CRM_Contact_Page_DashBoard` at ~/dashboard?

It sounds like you enabled the civicrm_developer Drupal module.  I would disable that.


It all depends on how your organisation works and how strict the rules are. One could argue that all memberships are renewed at the end of the year and payments are created but with status pending. A member could still benefit altough they did not pay. This means that the membership status should stay active,

One could also argue that as long as someone did not paid the member has no benefit in that case you want an inactive status come into play.

What is really cool about CiviCRM is that it is possible to define those membership status rules yourself. You can do that under Administer --> CiviMember --> Membership status rules.


Is there a report that I can pull to show me all donors, members and never givers?

Most contribution reports only report on folks who HAVE contributed, so normally one would pull a donor and non-donor report.

You don't specify exactly what you mean by "what they have contributed", but assuming you're just looking for a "lifetime total donations" amount, the easiest approach would be to install the Summary Fields extension and enable the "Total Contributed" field.  Then you can use any report (e.g. Contact Summary report) and include the total given as a column.


Turned out that it was the browser's adblocker that made the icons disappear.


I can think of a way to do it the other way around, by defining your own civicrm logger and having it send to syslog. The problem is large stacktraces might get cut off and be formatted badly because of the way that works.
To get php to send all its errors including 500-level errors to civi might not even be possible, because they happen before civi even gets to the point where it would be capable of writing a log. If civi can't even load because of error 500, it can't possibly write to its own log.
Or if the error were to be in the CMS, then it might not be able to get to civi either.


Krumo is part of the Drupal Devel module.  If you want to print out debugging statements in Drupal, you can put this line in your code:

dsm($myvariable);

It will print out the variable info with much more nicely-formatted HTML than just print_r() or similar.

In CiviCRM, I don't use this - I prefer

require_once 'CRM/Core/Error.php';

CRM_Core_Error::debug('variablename', $variablename).

There are variations on that available here: http://wiki.civicrm.org/confluence/pages/viewpage.action?pageId=33129619

Though this page seems to suggest that maybe the variations are deprecated.


CiviEvent Confirmation Email Displaying Profiles Not Used In Event

Eric,
Disabling those fields should remove them from the confirmation email. If you can't disable them (maybe they are from another active event), you can edit the Event Registration Confirmation and Receipt message and target the Event using $event.id (as in {if $event.id != "40"}do such and such{/if} ).
Administer > CiviMail > Message Templates - System Workflow Messages
Good luck!


Drupal's cron job has no access to CiviCRM custom fields (Anon access to custom data?)

You need to turn on "Access all custom data" for anonymous users for a lot of very popular features (e.g. custom fields for anonymous users in profiles and webform_civicrm) to work.  Someone else can contradict me, but I'm reasonably certain this has no impact on security unless a) anonymous users also have access to contact records, or b) you have custom field sets whose access should be restricted via ACL.

I'm sure there's a way to allow access to custom fields to anonymous users via ACL, but that often strikes me as overkill.


Details des imports contact evenement et activité

Documentation est ici: https://docs.civicrm.org/user/fr/latest/common-workflows/importing-data-into-civicrm/

Le plupart concernent l'import des contacts, mais il y a instructions pour activites et evenements a la fin.

Please excuse my french


How can we access only one of multiple financial types in a single contribution?

Check out Extended Reports Extension https://civicrm.org/extensions/extended-reports/24

Here is a quick rundown of how Civi handles Financial Types.
The Civi Core  native reports will only pull reports for Financial Types connected with your Price Set Default Financial Type. Which is stored in table civicrm_contribution.financial_type_id.
The Price Field Financial Type is actually called Line Items in the background. You have to use Extended Reports to be able to pull reports based on Line Item (civicrm_line_item.financial_type_id).

When creating a Message Template use tokens for the civicrm_line_item table Ie.{$lineitem.label} {$lineitem.financial_type_id}

You might have/want to create another Financial Type similar to Donation (maybe Contribution). Then use Donation for the Price Set Default Financial Type and Contribution for the Price Field Financial Type. The just helps you know which one you are seeing in reports and when Pulling Reports, you are sure not to get mixed data (Donations and Processing Fees) like you are seeing now.


In CiviDiscount 3.1 why is there both a Membership section and Membership in Automatic Discounts?

To answer the first question, the difference between the two is that the Discounts for memberships is where anyone with the code can get a discount when purchasing a membership (Civi help: "Discount the price of purchasing memberships. Only active memberships with start and end dates defined will appear in this list."). Automatic Discounts, on the other hand, is where any contact that meets the conditions outlined will get an automatic discount applied; no code required. And the discount will be applied to either memberships or events.

It might be clearer with a couple examples. In the first case, someone visiting the site can enter a code into the box and then get a discount on a membership they want to purchase. In the second case, someone might get a unique URL by email and Civi will know which contact it is. If, say, that contact meets the condition of being over 65 years old, they will get an automatic discount on an event. Or maybe they'll get a discount for an event because they're a Lifetime member.

To answer your last question, why no selection for Contact subtype: this does indeed look like a missing feature. I suggest posting an issue to the extension in github: https://github.com/dlobo/org.civicrm.module.cividiscount/issues It might be possible to get the contact subtype by using the api field that you see when adding a discount, but that is certainly not for a beginner.


This is only a per mailing basis: you can track all the emails in one link or none.

However, a workaround might be to add a token as a parameter you do not want to be tracked. eg:

Not tracked link

So here we put the contact hash, that is not going to mean anything and is not a private information, and you put it after the #, so the browser will not send it to the webserver and won't be in the server log. And because civimail does not track links with token, you should be good.

Let me know if it works for you.

X+


Civimail reuse link returns to CiviCRM home page

This is a known bug, fixed in 4.6.1+: https://issues.civicrm.org/jira/browse/CRM-16238


Not yet!

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

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


If you run the schedulded job as a cron job and don't use the http-method for the setup you will not face a php runtime timeout. We did have no issues with schedulded jobs running multiple hours.


Need membership form mod to control contact creation

Have you experimented with the api explorer?

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

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

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


Install this extension:
https://github.com/adixon/ca.civicrm.contributionrecur

And it will create a report template (Reports -> Create Report from template) for you that you can use to get at all your recurring series data (frequency, installments, status, amount, next scheduled date and more).

For anyone using the iATS payments extension we include a report template very similar to that.


If you have enabled the detailed logging it is currently displayed under the target contact of that relationship.

Arguably it would be better if it is shown on both contacts.

You can view all changes in the Contact Logging Report (Summary).


The Aggregated Household Contributions extension by Allen Shaw at Emphanos will get you close. It creates a report template for the Contribution Aggregate by Relationship report. The report will show up to 5 years of history by year (you can choose to show less) and a total if you want it. However by default it groups contacts into households, shows the contributions for the individuals in the household, and then shows the total for the household by each year (which is actually a really nice thing to have). If someone is not in a household, it will just show the individual giving history. If you don't know how to load extensions, you can reach out to your sys admin or post another question.


What this is suggestive of is that the configuration setting for the mail account look in correct as its trying to retrieve emails to see if it needs to process them (for bounces or replies etc) and it can't find the relevant directories

Seamus


I went back to fpdi-1.6.2, and the error disappeared (the internal fpdi folder content has completely changed between the two versions).


Display both regular and discounted fees in events page

For a no-coding solution, you can use a price set, and have the early-bird price options located just above their counterparts, but with the "Expire On" value set.


Is it possible to set cash contribution status to 'complete' automatically?

I think you should be able to do this with CiviRules: when there is a webform submission of the right type, find the contribution, check it is cash and then change the status to Completed.  You will need the CiviRules webform Drupal module in addition to the CiviRules extension.


I believe the 'Address Display Format' is not set properly in your system. Navigate to CiviCRM >> Administrator >> Localization >> Address Settings. Check values in 'Address Display Format' field. The contact.city should be inside open and closed curly braces eg {contact.city}.

Default value of 'Address Display Format'

{contact.address_name}
{contact.street_address}
{contact.supplemental_address_1}
{contact.supplemental_address_2}
{contact.supplemental_address_3}
{contact.city}{, }{contact.state_province}{ }{contact.postal_code}
{contact.country}

HTH

Pradeep


Can I create report with filtered custom field values?

It turns out, I can do it easily with CiviCRM Constituent Summary report. (Class used: CRM_Report_Form_Contact_Summary)

I just need to enable to show all necessary custom fields and it returns exactly the table needed.


Why the change in how Soft Credit information in exports?

I believe https://issues.civicrm.org/jira/browse/CRM-17286?focusedCommentId=80228&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-80228 will provide you with the answer as to why there are now two lines in the standard contribution export. That said, a couple of things that you can do to get around the issue:

Use the "Contribution Detail" report and include the column for "Contribution OR Tribute?" as well as any additional columns you need - when you export to CSV, you can filter/sort on the "Contribution OR Tribute?" column with the understanding that for every soft credit listed in the report, there will be an additional line for the "hard" contribution - depending on what you use the soft credit information for, you may want to save an instance of the report that will list only contributions and another that will list only tributes and then export each separately.
If the first option doesn't allow you to display all of the information you need, and if the the number of contributions with soft credits that you deal with is relatively few on each import, after exporting to CSV, CTRL + down arrow in one of the soft credit columns to arrive at the first soft credit in the export, then delete the corresponding contribution line that does NOT contain the soft credit information (from what I can tell, it is typically the line above the one with the soft credit).

Hope this helps!


Can you change Pending (Incomplete Transaction) to Pending (Pay Later)?

Using api explorer you can do it or exporting the record and re importing it with status as pending and pay later as 1 or yes.


Webform conditional from Civicrm checksum

I think this is possible with the below adjustments on the webform.

Add a disabled textfield on your webform and set its default value to a token or checksum value from the URL.
Now, add the condition on this element to hide email when it's value is not blank.

Update after Karing's comment - If you need to hide the field from the webform, maybe use a little css like display:none for the same.


Creating memberships in batches after payment

My interpretation of your question is that the payments are already recorded in CiviCRM. I am also assuming you can have some way of searching for the contacts who have paid membership fees but have no membership. (If not, edit your question to make that clear and I will amend my answer accordingly).

Once you have obtained a list of the contributions (via an Advanced Search displaying results as contributions or a Find Contribution search) you should export the results.  You will need at least the contact id,  and probably the date of the payment (which I assume will become the start date for the membership).

Create a CSV for importing that contains at least the contact Id, the membership type and the membership start date (refer to the Import Membership section of http://book.civicrm.org/user/current/common-workflows/importing-data)

Import the membership file (Memberships > Import Memberships )

Note: this will create memberships for the contacts, but the memberships and the contributions will not be linked.  That linking cannot be done via the GUI.

As a suggestion, next time it may be more efficient to send people the URL for an online membership page so that the membership is created at the time the payment is recorded.


Webforms with offsite payment processor development

The issues related to paypal standard and webform_civicrm have already been resolved. I've just updated the wiki documentation to reflect this.


Dedupe rule for organization always firing on membership signup form

@benoit.dubuc as discussed on phone you've identified a bug. I've replicated this and created an issue for it https://issues.civicrm.org/jira/browse/CRM-18163. Thanks for offering to fund fixing it and creating an automated test to ensure it doesn't reappear.


I am not sure why you are using civicrm_api3_get. The standard way for v3 api calling is civicrm_api3('entityName', 'action', $params).

Just try replacing the snippet from above question to below:

 $entity_id = $group["id"];
 $apiParams = array(
   "entity_id" => $entity_id,
   "entity_table" => "civicrm_group",
   "is_active" => 1
 );

 $entity_name = "Acl_Role";
 $result = civicrm_api3($entity_name, 'get', $apiParams);

HTH

Pradeep


It looks like either 'Asset Account is' account relationship is deleted or disabled. You can check by navigation to CiviCRM >> Administer >> System Settings >> Option Groups. Find for 'Account Relationship' option, click 'edit option' link besides it. Find for 'Asset Account is' if its disabled or deleted.

Solution:

If disabled then enable it using api or through sql.
If deleted then Add a new one with Label and Name as 'Asset Account is'.

Cheers

Pradeep


CiviCRM & Joomla Username Check Availability

It appears that the CiviCRM 5.12.3 and Joomla 3.9.5 combination, the issue is fixed.


Webform CiviCRM contribution "other amount"

If you want to preserve a predefined values and let the donor the option of entering another amount, Select (or other) Drupal module works nicely with Webform CiviCRM and payment amounts.


How do I move registration to another event

This is not possible via the UI.

There is a table civicrm_participant_payment which links the Participant and the Contribution records.

If you have access to that, and know the contribution_id then you should be able to edit participant_id


information on how to translate the component for joomla

CiviCRM has its own setting to set default language. To configure CiviCRM to use an translation:

Download the translations distribution -
civicrm--l10n.tar.gz - from the CiviCRM downloads page. This
tarball contains all files for the latest available translations.
Uncompress the tarball and you will see a directory called civicrm,
containing two subdirectories called l10n and sql. The l10n directory
contains a set of sub-directories named using their local codes.
(Example: the Italian translation files will located in
/civicrm/l10n/it_IT).
Copy this l10n directory, together with all its subdirectories into
your CiviCRM codebase root directory.(note if creating the l10n
folder manually it should be ell-ten-n, not capital-I-ten-n)

For Joomla this would be site_root/administrator/components/com_civicrm/civicrm. So if you wanted the it_IT language it would look like this site_root/administrator/components/com_civicrm/civicrm/l10n/it_IT/

To enable the default language

Login to CiviCRM (as a user with "administer CiviCRM permissions").
Go to Administer » Localization » Languages, Currency, Locations.
You should now be able to see and select all the localization options
in the Default Language and drop-down menu. If you don't, and instead
can just see the default 'English (United States)' option, check the
preceding steps as the drop-down options are set by the directories
under your l10n directory. Also be sure to confirm that the l10n
directory is correctly named as l10n (that is: el-ten-en and not
eye-ten-en).

HTH

Pradeep


How do I batch update a standard custom field for event participants?

From the description of your custom fields as "normal custom fields" and your current workaround, it seems that the fields you want to update are contact custom fields rather than participant custom fields.

If that is so, then do an Advanced Search specifying criteria in the Events section rather than a Find Participants search. On the results page you will have the option to Batch Update via Profiles. Select that option and all your profiles should appear in the selection list.


Crediting event payments by another contact

You could hack the civicrm_participant_payment table which links a contribution to a participant.
You could also create an extension to link a contribution to a particpant from the user interface. This way you make it easier for the event manager to this.


No - it won't work.

I think caldera forms may be the way to go on WP as far as forms go (although others will be better informed).

civicrm-wp-member-sync may be the way forward - And Haystack (the developer) may have the best viewpoint ;)


hook_civicrm_permission in a drupal module

I may be misreading this, but it sounds like you're saying that you've got a new permission, and the user with the role that has the permission granted is working just fine.  However, you're saying that Drupal user ID 1 is being treated as if it has the permission, even though it doesn't have any role with that permission.

If so, this is totally normal.  Drupal user ID 1 gets all permissions, even when using CRM_Core_Permission::check('SpecialPermissions').  You should be able to confirm by creating another user without that permission and seeing that CRM_Core_Permission::check('SpecialPermissions') returns false.


iATS Extension Working, but Throwing Errors

To suppress notices/warnings on Drupal go here:
/admin/config/development/logging

and hit: none
(you'll want 'none' on any production site);

Would you please open up on issue in our GitHub queue:
https://github.com/iATSPayments/com.iatspayments.civicrm

paste in your notices - and also let us know exactly what type of transaction you're executing when these notices occur? Frontend/backend; Credit Card; ACHEFT; SWIPE; one-time/recurring; Contribution; Membership or Event etc.


Shared hosting vs VPS with CiviCRM & Wordpress

Shared hosting can work well, but use one that specifically supports CiviCRM.
Typically VPS offers more resources (RAM, CPU etc) but at a higher price.  VPS's are not all the same: on unmanaged ones you need to do more sysadmin work but have more flexibility; on managed ones there are more restrictions but more of the work is done for you.
Good shared hosting gives you flexibility while taking care of all the basics.
Have you considered CiviCRM's own Spark offering?
I've had good experiences with shared hosting on CiviHosting


Which accounting software is compatible?

There is a batch export in csv that works for many packages, a .iif that works for QuickBooks desktop, an extension that integrates with QuickBooks online Australia, and an extension that supports Microsoft Dynamics.


The files are easy enough to get rid of - just delete .../wp-content/plugins/civicrm and best to clear ../wp-content/uploads/civicrm as well.

For the database, you could just leave the old version there or you can use phpMyAdmin to delete all the tables starting civicrm_ leaving all the ones starting wp_ there.

Mick


How to add Contact "Notes" field in webform?

Here's a similar question: Can I add a space for people to write notes: like dietary needs and or comments?

And here's an outstanding request for the feature here: https://www.drupal.org/project/webform_civicrm/issues/2320295

The conclusion is: consider putting the note somewhere else, e.g. an activity or custom field.

Although the notes field seems like the right place, it's not a bad idea to NOT put it there, since the notes field tends to be private for administrators and hiding the contact's notes in there means they might not get seen.

If you work forwards and think about what those notes are for, that might suggest a better location. A custom field seems like the right answer.


I'd use System.get API call. (source)

In the return values, there's a value for version which corresponds to the value in civicrm-version.php

$ cv api System.get name=version
{
    "is_error": 0,
    "version": 3,
    "count": 1,
    "id": 0,
    "values": [
        {
            "version": "4.6.20.0",
            "uf": "Drupal",
            "php": {
            // lots more info ...

Only worry about this might be how heavy that API call is - since I see data there from OS etc, it might not be suitable for calling frequently if rebuilding the data each time. There seems to be a bit of overhead to this API call (~0.07s per call in a randomly picked test environment), so for frequent use you'd want something lighter.


If you need to synchronise the user from WP to CiviCRM you can do it by

1) Navigate to Administer -> Users and Permissions -> Synchronize Users to Contacts.

2) Click OK on the form that says to synchronise cms users.


I finally got the right combination of words to google and found an answer here: https://forum.civicrm.org/index.php?topic=34203.0


Contact Report Filter: How to include Street Address?

What version of Civi are you on? Look for Constituent Summary in Reports. And install Eileen's Extended Report extension here and take a look at the Constituent Report (Summary).


Why are Civi Events and Activities in Drupal Views Calendar showing incorrect times

According to Eileen "the meta fix for CiviCRM for timezone issues is to change the type of appropriate fields to mysql timestamps (which we actually do sometimes) but views calendar should just assume it's getting the data in whatever timezone it is in".

We found this post by SGladstone (thanks Sarah) which gave us a new direction to explore, and Chris has now done a PR for a fix based on that approach.


Webform contact autocomplete only searches the first character of external ID

For a large org who also could not use any Name autocomplete (just too many Contacts) - I create a Enter Contact ID Form Widget (for _contact_existing). If you adapt your processes to do lookup by Contact ID - this new Widget is in current versions of Webform CiviCRM module. If you continue to want to lookup by External ID - have a look at the code and mimic it after this example or alternatively sponsor a bit of time and we'll be happy to get that done for you.


Compilation error when installing on Drupal8

It turns out this compilation error is related to composer versions:

Using default composer version of 1.10 on Ubuntu 20.04 produces this fatal error.
Manually upgrading to composer 2.0 resolves this issue.