Multilingual support We need CiviCRM Member Form in six or more different languages.  The site will be in three languages, but we want the Member Form to be in as many languages as possible.  I can't find any information about CiviCRM multilingual support, except for a few random sentences in the documentation that indicate multilingual is supported.  Where can I find more information about the set-up, user interface and languages that are supported.  Does multilingual implementation require an extension?

i think you are right that there is not a lot of information about this currently. Multiple language can be enabled on the Localisation screen ie at http://d46.demo.civicrm.org/civicrm/admin/setting/localization?reset=1

Some documentation about it is here
http://gitbook.civicrm.org/the-civicrm-community/localising-civicrm.html
http://wiki.civicrm.org/confluence/pages/viewpage.action?pageId=88408149

Once multiple languages have been enabled, when you are creating eg a Contribution Form you should see new green buttons next to fields that will allow you to provide a translation of the text.

NOTE: we have had issues when trying to run CiviCRM with more than 2 or 3 languages so you need to test this on a dev site of course.

RANDOM IDEA: I haven't thought about this previously but if you are using Drupal then there may be options to provide alternative language versions of a webform_civicrm form that is connected to your Member Form


How to create a report of all contact organizations? Creating a report of constituent individuals appears to be easy, but I can't see how to create a report of all organizations.

Okay, I found learned that contacts can be filtered by contact type, so when I create a report I can use that filter. Duh..


How do I email to two addresses on an individual without Civi creating a new record for the second email address? I've read everything I can. I know you can bulk mail to non-primary email addresses. I know I can split contacts up into "Ann" and "Bob" rather than "Ann and Bob", but unfortunately it is far better for the organisation I'm working for to have "Ann and Bob" for accounting, reporting, and contacting purposes.

Is there any possibility or setting or plugin I've overlooked for being able to send single emails to both Ann and Bob's email addresses? It seems the lack of ability for multiple primary emails is a massive oversight.

I'm aware this is a core issue, but surely something has been done!

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

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


How to select Top Donors filtered by Contribution source I would like to run a donor report to see how much our congregants have donated over the time we have been with Shuilsuite.

I see the report called 'top donors' which is exactly what I am looking for.  However, the way we identify whether or not it is a donation is by using the 'source' of the transaction as we reference it 'Donation'. This filter does not exist, so I am unable to use this report. Can you please suggest a way to export these transactions or run a report so that I can identify the person's name, pledge amount, confirmed receipt, and status?

Thank you

Michael

Another option would be to install the Summary Fields extension and see if that helps you get the numbers you need


When should I use activities vs. events? If I have a weekly (free) meeting and I want to track attendance, is it better to use an activity or an event to do so?  What are some of the pluses and minuses of each?
Please define the differences.

Jon -

If you use events to track your attendance, you actually get the benefit of both (since event registrations also generate activities).  :-)  Depending on your version of Civi (which unfortunately you didn't specify), you may be able to create your event as a recurring event.  You could then import your attendance lists (assuming of course all your attendees are already in Civi; if not, then you'll need to import the contact info first, then import the participant records).

My thought is that if you go ahead and go the route of events, you're already situated to take online registrations down the road if that becomes a need, and/or to register people in advance and then send scheduled reminders.  I think that going the activity route might work quite well in the short term, but prove limiting in the long run as your needs and use of Civi evolve.

Hope this helps,
Lesley


What is the best way to alter menu permission? I need different access argument for "civicrm/group/add"
For now I found only 2 options: alter Group.xml or with hook_civicrm_xmlMenu
unset Group.xml and use my own file to defined menus.
But it would be nice just to use some hook to alter access arguments. Is there anything like that?

Could hook_civicrm_alterMenu be what you need?


Why isn't our Profile displaying on our Joomla webpage? Set up profile, check.
Set up relevant menu item as "CiviCRM" then "Profile Search", check.
In the "Options" tab have selected the relevant profile.

So why is the page only displaying the placeholder text from the original K2 article?

This has kind of been stated before, but you need to make sure that what you are exposing to Joomla is viewable by all unless you are requiring people to log in first before they can see the content (such as with a members area). You may want to elaborate on what your end goal is, because a profile search may require higher permissions than a profile view. If you are looking for just a general directory listing, you may not need a search.


Can you restrict Shoreditch from injecting CSS on Public pages with CiviCRM content? As the title says - can you restrict Shoreditch from injecting CSS on Public pages with CiviCRM content?

For example - do a fresh install of Drupal, CiviCRM and Shoreditch - choose any public theme - create any public facing CiviCRM page (event, contribution, etc) - go to that public page - shoreditch will inject much of its CSS on the page. Fonts, body backgrounds, etc.

Whats the easiest way to restrict shoreditch from injecting itself on public pages?

This is a core issue (not specific to Shoreditch) and there is an issue with some discussion related to it here:

https://lab.civicrm.org/dev/core/issues/378

To tag on to your specific point about Shoreditch's CSS, I have found this to be problematic for the display reasons you mention (conflicts with CSS from the front end theme) but also for performance reasons. On one site I found Google Page Speed Insights showed a very low mobile score (2%) with Shoreditch enabled, and it jumped to a more normal level (87%) as soon as I disabled the Shoreditch CSS.


backup and migrate Cannot delete or update a parent row: a foreign key constraint fails I have tried to use backup and migrate from an existing system into a fresh Bitnami Drupal 7.4.1 Civicrm 4.6.9 install on another machine. Win10
BandM 7.x-3.1
I received the following error:
PDOException: SQLSTATE[23000]: Integrity constraint violation: 1217 Cannot delete or update a parent row: a foreign key constraint fails in backup_migrate_source_db_mysql->_restore_db_from_file() (line 199 of C:\Bitnami\civicrm-4.6.9-1\apps\civicrm\htdocs\sites\all\modules\backup_migrate\includes\sources.db.mysql.inc)
I looked at the existing answers and am unable to get it to work.
Please help.

Backup and Migrate module may not be compatible with CiviCRM, and may not understand how to handle the many foreign key constraints within CiviCRM.

Here is the easy way:

Drop the database entirely (back it up first please)
recreate that database with the same name
then restore from your backup.

Here is the hard way:
Particularly, if a failed update has altered the table structure of your database, simply restoring may not work with any tool, because the schema has changed. More information:
http://wiki.civicrm.org/confluence/display/CRMDOC/Ensuring+Schema+Integrity+on+Upgrades


CiviCRM Raw Data Files We use CiviCRM for our nonprofit, and we're trying to figure out how we can export our raw data in order to upload it into some custom apps. Any help would be very much appreciated!

Cheers,
Jillian

The answer rather depends on what data you have in CiviCRM and what you want to export.

One option is to export the data as a CSV file as Demerit says. This will allow you to export certain types of data - for example: contacts, event participants, activities.  You can do this via advanced search. See the manual for more details: Exporting your contacts.

Another option is to access the data directly from the database. This gives you more control to access the data that you need but would require some understanding of the database structure and SQL. If you have access to phpMyAdmin you will be able to export the SQL data using this (log in to phpMyAdmin and click on the Export tab). Alternatively your website hosting company may have a tool that allows you to export the SQL - you could contact them for help.

A third option to export the data via the API which would require some programming.


Create a user and associate it with an individual of an organization how can create a new user connecting to an individual of an organization by giving it the ability to send online contributions ? thank you

If you set up a Contribution page to require 'on behalf of organisation', and include a Profile on the page that is set to 'require user creation' then the outcome is that John fills in the form, creates a contact record and a user record for himself, creates an organisation record, is linked to this as a current employer with permissions to edit that record.

If you want to create the individual and organisation contacts prior to him going to the form, ie at the backend, then you will need to eg, create the user and the individual via the 'create mode' of a Profile, then send him a link to login, or an email with a checksum so he can visit the page and have it prefilled.


Error in table state_province for Wales It seems that a bug must first be reported here before is can be reported as bug.
I use version 5.35.0 Joomla, but the error is created in version 5.31.alpha1.
In the table the combination 'abbrevation' and 'country_id' must be unique. But the abbrevation for Carmarthenshire must be 'CMN' (wikipedia.org ISO_3166-2:GB) en not 'CRF', that is 'Cardiff'.
(See: civicrm_state_province.tpl, 5.31.alpha1.mysql.tpl)
I found this little copy-error when i tried to import the database with phpmyadmin.

I think you're right - good catch. See https://github.com/civicrm/civicrm-core/pull/19802
FYI in my database there isn't a restriction for uniqueness for the abbreviation field - the unique constraint is defined here: https://github.com/civicrm/civicrm-core/blob/da28128b812d4ae53c52abd8073656c61bbc4cc7/xml/schema/Core/StateProvince.xml#L70-L74 and it's name and country_id.


How can I offer event registration cancellation but not registration transfer? I want to allow participants to cancel a registration but not to transfer it to someone else. It seems that CiviEvent offers either both or neither. Is there a way of just enabling one?

You can't, and it sucks.  It's been on my to-do list to fix for a long time, but the client who wanted to fund it decided they didn't care.  It's maybe 2-4 hours of work, but it just needs to be done.


How can I integrate Google Forms with CiviCRM? I have a complicated Google Form I've already written.  While it could be reimplemented in Caldera Forms, this would be time-consuming, and Caldera Forms is no longer being developed.  Is there a way to integrate Google Forms with CiviCRM?

You can do this by adding a Google Script and trigger to your Google Form, and installing Form Processor on the CiviCRM side.
Configuring Form Processor is out of scope of this question - there are documentation and blog posts available to explain that.  However, no documentation exists for the Google side.
Instructions

From the Google Forms editing screen, click the More menu (three vertical dots) and select Script Editor.

This won't appear if you're too zoomed in.

Paste the following code into the editor and press Save (latest version on Github):

/**
 * @OnlyCurrentDoc
 */

function onFormSubmit(event) {

  // Set the values on these four lines for your Form Processor and site.
  var url = '<API3 REST Endpoint here>';
  var api_key = '<api key here>';
  var site_key = '<site key here>';
  var form_processor_machine_name = '<machine name of Form Processor here>';

  // Don't modify anything below this line.
  var submission = {};
  var responses = event.response.getItemResponses();
  for (var i = 0; i < responses.length; i++) {
    // Convert all non-alphanumeric values in the title to underscores, lowercase as well.
    title = responses[i].getItem().getTitle().replace(/[\W]+/g,"_").toLowerCase();
    submission[title] = responses[i].getResponse();
  }

  var payload = {
    "entity": "FormProcessor",
    "action": form_processor_machine_name,
    "json": JSON.stringify(submission),
    "api_key" : api_key,
    "key": site_key,
  }
  var options = {
    "method" : "post",
    "payload" : payload,
    "muteHttpExceptions" : true,
  };

  Logger.log(JSON.stringify(submission));
  // Fire the webhook.
  var response = UrlFetchApp.fetch(url,options);
}

Modify the indicated lines at the top of the script to add these values:

The URL of your REST endpoint (varies by CMS and by CiviCRM version; check the REST Endpoint documentation);
The API key of a user with the necessary permission specified by your Form Processor configuration;
The site key (can be found in civicrm.settings.php);
The machine name of your Form Processor instance (can be found in the configuration).

In the Google Script editor left navigation, click the Triggers tab, click Add a Trigger and configure it as follows:

Choose which function to run: onFormSubmit
Which runs at deployment: Head
Select event source: From form
Select event type: On form submit.
NOTE: If you create the trigger before adding the code, Google won't ask you to authorize the necessary scopes.  Create the trigger last.

Now your forms will send the data to CiviCRM when they're submitted!  To find the names of the inputs to configure Form Processor, do a test form submission, then in Google Script editor, click the Executions tab.  The script will log the payload to Form Processor, and you can easily see the names of the fields as CiviCRM will see them.


How to Fix Missing Organization Profile Dropdown in Contribution Form Settings I'm working on my first install of CiviCRM. So far it's been a fairly smooth process. I'm at the point of creating a form to register members (as we are a 501c6). I created a contribution form, and I want to require that users contribute on behalf of an organization - as this is a registration for membership.

However, the dropdown menu to select which profile to use isn't there. I see where it should be, but it doesn't show up. This is my first form of this type, so it's entirely possible I just missed something simple, but I've tried everything I can think of. I've even disabled the CSS in case that was somehow hiding the dropdown.

At this point, I can't move forward with the registration is it requires me to put in an Org Profile but does not give me any way to select one.

Anybody experienced this problem before? Anything I can do to fix it? Because I'm stumped on this one.

Thanks in advance!

P.S. I just posted this on the old forums, but saw that they were deprecated, so I moved it over here.

The "on behalf of" functionality uses the "On Behalf of Organization" profile which is a default/reserved profile. You should be able to find it by clicking on the Reserved Profiles tab in civicrm/admin/uf/group (or under Administer > Customize Data and Screens > Profiles):


Reordering Fields Appended With jQuery I have appended a field to honoree-name-email-section and it works great.  However it appends to the bottom of the fields. I would like to append a field an have it be shown at the top of the list.  Is there a way to do this?

Thanks!

Here's an example of moving #mycustomfields ahead of a .core-class:

function Refresh() {
  cj(function ($) {
    'use strict';
      /* move my custom fields up where they belong */
      $('.core-class').prepend($('#mycustomfields'));
  });
}

Open up an inspector tool for your browser to find the # or the . you'd like to move around using JavaScript. In Firefox I like Firebug: http://getfirebug.com/

In the example above I'm moving an entire div with id=mycustomfields.

@Josh ended up using:
'cj('#editrow-custom_25').insertBefore('.editrow_prefix_id-section');'

Many ways to re-order change things up in jQuery!


What is the Drupal 8 Webform url for autofill CiviMail linkage In D7 Webform Civicrm integration, under Additional Options for Civi configuration there is this link
To have this form auto-filled for anonymous users, enable the "Existing Contact" field for Contact 1 and send the following link from CiviMail:
https://site.nubay.net/sample-webform?cid1={contact.contact_id}&{contact.checksum}
I do not see the equivalent link for D8 Webforms.   Would it be the same link?   Should it be in the additional options section?

It works just the same!
Example:
/form/special-resolution?cid1=123&cs=6b8783497eb95b80a04d943f04fa8c5b_1585859799_168


4.6.10 to 4.7.1 upgrade woes **UPDATE #5: See new answer at bottom. It's a fix!

**UPDATE #4: Decided do a clean install of 4.7.1 and see if I can point it to a working 4.7.1 backup database. I suppose I need to follow Kurund's wisdom on this, eh? https://wiki.civicrm.org/confluence/display/CRMDOC/Moving+the+database+using+phpMyAdmin

~~~~~

**UPDATE #3: Well, it's been a nasty Mercury in retrograde these past couple of weeks. Or Murphy's Law has been acting like a troll. Had a power outage last night that exceeded the UPS runtime and this sandbox didn't gracefully shutdown. Ugh! Got it back up except...

4.7.1 gave me a blank screen again. Cleared the cache, checked all settings. All was intact except now missing a few files and folders. Ugh! Tried to reinstall it from Joomla Install-from-Folder function but that now gives me a blank page (500 error). I then decided to uninstall 4.7.1 and reinstall a fresh package but same results. It stopping after 30% of the folder/files are being installed.

I checked the database again, too. Noticed that in table

  civicrm_domain
  config_backend

field is gone

Any ideas?

~~~~~~~

**UPDATE #2: I was finally able to upgrade after starting with a good 4.6.10 database backup. Then again in table

  civicrm_domain.config_backend

marked that field column to NULL, and made sure the version number was set back to 4.6.10.

Then reading through the documentation again, deleted

  ~/media/civicrm/ConfigAndLogs/Config.IDS.ini

and

  ~/media/civicrm/templates_c/en_US

I then performed the 4.7.1 install again and it worked.

~~~~~~

**UPDATE #1: Seems there is an error of corrupted table creation in the log files. http://pastebin.com/KajmZuC1

There is an old bug by core developers on this supposedly fixed but here it is again. https://issues.civicrm.org/jira/browse/CRM-9493**

I actually have a dead upgrade now from 4.6.10 to 4.7.1 on Joomla 3.4.8. I am still running PHP 5.4 if that makes a difference considering the warnings during the upgrade.

After initial upgrade, I got a system error message on pop-up and where the notice is at the bottom of the container next to the CiviCRM version number. The error was that no Crons were recorded. I opened Scheduled Events and it showed all active Crons having just been run.

Next, I Cleared Caches but on this settings page the paths were missing from the HTML. I decided to hit the Reset Paths button and then everything went blank.

Front and backends are completely blank now. All paths in civicrm.settings.php and civicrm.config.php are correct including MySQL settings.

Here is the latest entries in the ConfigAndLogs log file.
http://pastebin.com/KajmZuC1

Also, "No mailboxes have been configured for Email to Activity Processing" but this shouldn't break the upgrade.

Please advise.

I got CiviCRM to come back by manually entering the paths manually into the CiviCRM Settings Overrides in civicrm.settings.php file.  There were some more error but at least CiviCRM came back for me.  It is obvious that the Reset Paths is causing problem and it might have to do with the way UpdateConfigBackend is calling a URL for GettingStarted.php.  I am not a developer but they all seem to be linked.  I shared what I actually did in this posting at the bottom: 4.6.12 to 4.7.1 upgrade causes problems with directories, update paths and clear cache
4.6.12 to 4.7.1 upgrade causes problems with directories, update paths and clear cache


Activity drop down list not displaying activites I have a number of custom activities set up, all of which are reserved and enabled.

However they are not showing up on the new activity drop down when recording a new activity.

Any ideas on how to make them appear in the drop down (they do appear in the filter by activity type dropdowns)

Use phpMyAdmin or the api explorer to inspect those records in the db and look for differences between the old activity types which are not showing, and the new ones that are. In particular, check the filter, is_optgroup and is_active fields. This is how to do it in the api explorer:


Is there a way to display the latest mail in CiviMail? We use CiviMail for our organization's newsletter. In addition to a signup form, we would like to have a "click to view our latest newsletter" link which shows the most recent newsletter from CiviMail. Is there a way to automatically do this that doesn't involve changing the link manually every time a new newsletter is sent out?

Option 1)

There is CiviCRM extension which seems to do exactly what you need: Public Mailings Archive filterable by date, template, etc. It says is compatible up to Civi 4.5 so you might need to contact the developer or test first if you are using 4.6

Option 2)

As you are on WordPress, check out Christian Wach's plugin, it creates a custom post for each public CiviMail mailing. You could link in your mailing to the custom archive page for that post, alternatively you could modify the archives-pages-template.php to output only the last post (ie last newsletter) if you don't want to expose previous newsletters.

Option 3)

Try out the Content Tokens extension and check if it fulfills your needs.

Option 4)

In conjunction with Christian Wach's plugin mentioned above, you could create your own token, as explain in this great post by Coleman.


CiviMail shows unexpected groups when selecting recipients I create a new email and go to choose "Recipients". I see a full list of all groups. This includes groups I shouldn't be allowed to see (per ACL rules), and groups that do not have the "mailing list" attribute. Does a little trick exist that can restrict the groups available to choose from?

Edit: CiviCRM version: 4.6.3

Similar issue is filed here for which I've submitted a PR at https://github.com/civicrm/civicrm-core/pull/6366

Hope you can see Groups permitted by ACL now:)

Update : If you can also see the groups not configured for mailing list, please upgrade to the latest CiviCRM version.


CiviCRM Wordpress Member Sync w/ Wordpress Groups Plugin: How to add CiviMember to WP Group I have the latest CiviCRM and Wordpress installed. I've got the latest Groups plugin for Wordpress (https://wordpress.org/plugins/groups/), and the CiviCRM Wordpress Member Sync plugin (https://wordpress.org/plugins/civicrm-wp-member-sync/).

I've set up a CiviCRM Membership Type of Membership A, and a Group in Wordpress called Member

What I thought I would be able to set up in the Member Sync plugin Association Rule is tick a checkbox or something to select a Wordpress Group to add the Member too. I'm not seeing this in the plugin settings dashboard anywhere or options.

So when the plugin syncs it adds a new  Wordpress User from Membership A from CiviCRM as a (Subscriber)---that's working.

But the new WP User was only added to the default Registered group in Groups. I need the  new user to be added to the Member group in Wordpress.

Please help, as this is integral to hiding pages for members only eyes.

FYI: I have the sync plugin set to Capabilities (not Roles) as I need the default Wordpress roles for another plugin.

The description for the civi members sync plugin says it works with Groups, but I just can't see how! https://wordpress.org/plugins/civicrm-wp-member-sync/#installation

I'm hoping one of you Wordpress +CiviCRM experts can help me. I've been scratching my head the whole day!

Cheers,
Tracy

This should be resolved in CiviCRM WordPress Member Sync version 0.4 which was released today. Group membership can now be applied via association rules, which means that the Groups v2.8.0+ schema for access control is now fully supported.


How do I delete an option group (civicrm_option_group) I'm getting frustrated with googl-ing, and can't find out how to delete/remove option groups.

Anyone have a simple answer?
Even if I have to go into the DB and remove entries from civicrm_option_group - I just want to know that that is safe.

The groups have been created, but there are no fields, and therefore no data in them - but I can't see how to remove them.

edit

The option groups were created via Administer -> system setting -> option groups and creating the fields, but as Ramesh says, below, there is no "delete" option here, so can't see where to remove them.

Background and workflow issue: I added the option groups because doing so through the Also, backing up Ramesh, groups self delete when they're not being used if they were created via the "adding Custom Data Set field" workflow. Although this names the data set as the question and doesn't give flexability to create re-usable names (the option set "name" is not change-able)

i.e.:

custom field (question)= Do you like fish and chips?
required option group options (Answer - radio): yes, no, sometimes
required option group name: sometimes
actual option group name: Do you use CivCRM?
actual option group to use: Do you like fish and chips

Should this last section rather be bought up in Jira (sorry if so - I saw it as a "cause" for the situation happening in the first place)

end edit

Anyone have some background on how these groups work / interact with the UI?

Thanks,
Martin

Civi: 4.4.13
Drupal: 6

If it's safe (AFAIK if the option group isn't part of an extension or the core, doesn't contain any option values, isn't used by any custom fields) you can delete it using the API explorer or a drush command.

On the 'Option Groups' screen, each group has a link to its page of options, of the form https://www.example.org/civicrm/admin/optionValue?gid=94&reset=1 where the group ID is 94.

While logged in with privileges to the webserver directory, in sites/default, do:

drush cvapi OptionGroup.delete id=XX

Or go to civicrm/api/explorer, choose OptionGroup / delete, and add &id=XX (where XX is the group ID) to the end of what looks like a URL string below those options, and click Go.


Installing CIVICRM ver. 5.32.2 on Joomla I am having trouble installing CIVICRM on my Joomla powered domain.
Here is my environment:
System Information

PHP Built On:    Linux a2plcpnl0712.prod.iad2.secureserver.net
2.6.32-954.3.5.lve1.4.80.el6.x86_64 #1 SMP Thu Sep 24 01:42:00 EDT 2020 x86_64
Database Type:   mysql Database Version: 5.6.49-cll-lve
Database Collation:  latin1_swedish_ci Database Connection
Collation:   utf8mb4_general_ci
PHP Version: 7.4.11
Web Server:  Apache
WebServer to PHP Interface:  litespeed
Joomla! Version: Joomla! 3.9.23 Stable [ Amani ] 24-November-2020 15:00 GMT
Joomla! Platform Version: Joomla Platform 13.1.0 Stable [ Curiosity ] 24-Apr-2013
00:00 GMT
User Agent:  Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36

I tied installing the civicrm-5.32.2-joomla-alt.zip and the civicrm-5.32.2-joomla.zip builds, but after a while I receive the following:
"Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Additionally, a 503 Service Unavailable error was encountered while trying to use an ErrorDocument to handle the request."
In file manager, the folders ~/administrators/components/com_civicrm/ and ~/components/com_civicrm and their subfolders are present. the folder ~/media/civicrm is not present.  The database does not show any Civicrm tables.
Any ideas on what I may be doing wrong?  Thank you in advance.

Thank you all for the answers.  I have set up my test local environment with a new install of joomla 3.9.22 and was successful in installing Civicrm.
On the production environment, I downgraded to php 7.3 and applied the suggested patch to the joomla 3.9.23.  After proceeding with the installation of civicrm, I am getting a different error message:
An error has occurred.
0 undefined extension class 'Smarty_Internal_Method_Assign_By_Ref'
Does anyone know what went wrong and how to solve the issue?

Joomla version 3.9.23 introduced an issue: unzipping an install file with several zips inside itself won't work. This causes the behavior you describe.
In the next version this issue will be solved. You solve the issue now by manually installing a patch made by Yootheme, which can be found here:
https://yootheme.com/support/question/142357


Why does setting my Directories or Resources not save? On some sites Civi gives users a warning about 'Directory Paths: Make them portable' and the warning directs them to the Directories page to fix them.

The user makes the changes and saves them, but may find the System Status warning remains - so they go back and look in Directories and guess what, the changes have not been saved

Why does this happen and what can be done to reduce the frustration of this?

The changes are not being saved because the settings are being overridden by civicrm.settings.php

To improve this we have made a PR to help clarify to the user what is happening by providing a pop up message saying "Fields Inputs loaded as 'readonly' as they have been set (overridden) in civicrm_settings.php"


Membership Expiration Date Report Filter is Ignored In CiviCRM membership reports, the Membership Expiration Date filter is ignored, and all records are returned no matter what parameters you try.  We started experiencing this around CiviCRM 5.11.  We are currently on CiviCRM 5.21.3 on Drupal 7.7.3.  Seems odd that no one else appears to have reported this after many months.

I just tested on dmaster ie 5.32 which is always a good way to test something before flagging it as it may already have been fixed :-)
I get
when I apply

compared to
when I apply no filter
I don't know which specific report you mean, but good if you can test on dmaster and then if there is still an issue, report back here and we can help confirm if it is a bug. hope that helps you


Can a contact be matched with a campaign Is it possible to match individuals with campaigns?

Example: I create an event, can assign contacts to this event with a role.
So I have the overview which contacts have participated.

Is it also possible to assign contacts to a campaign? So that I can see who participated and what role he had?

Your question isn't completely clear to me. You can associate one person, or a few, with a campaign by creating a custom contact reference field for them.

You could also search for individuals who have been involved in a campaign in some way, e.g., donating to it, from Search > Advanced Search. You could then make a smart group from the results.


How to Contribute on behalf of an individual instead of organisation for Member Dues? Under Contribution Configurations,
I see  "Allow individuals to contribute and/or signup for membership on behalf of an organization?" checkbox is available by default, is there any way we can contribute on behalf of individual  for Member Dues without using family relationship type?

You can do so by adding query parameter cid=0 in the url
So if the url is
/civicrm/?civiwp=CiviCRM&q=civicrm/Fcontribute/transact&reset=1&id=10

You need to add cid=0 to the url as shown below
/civicrm/?civiwp=CiviCRM&q=civicrm/Fcontribute/transact&cid=0&reset=1&id=10


What is the EOL for 5.33-ESR I need to know when the EOL of 5.33-ESR is. I'm a subscriber and I checked here and other places but couldn't find it.
Thx.

See also https://lab.civicrm.org/dev/release/-/blob/master/README.md with tentative ESR dates.


Is there a quick and easy way to copy an activity? We manage activities with many custom fields to record various social parameters of the beneficiaries of our organizations.

These activities are repeated periodically and is common from one activity to another which custom fields change very little.

Is there a quick and easy way to copy an activity? This would save us introduce ever custom fields that are common between two activities.

Note: Events can be copied.

There's no built-in functionality to copy activities - but my coworker wrote an extension that, amongst other tasks, allows you to copy an activity.  It's organization-specific - for instance, it specifically does NOT copy certain activity fields, and assumes the existence of certain custom fields - but if you've got some developer skills, this is 90% of what you need: https://github.com/PalanteJon/coop.palantetech.multipleactivities/tree/master


Public URL for CiviMail: access denied even for admin Drupal 7.67, CiviCRM 5.13.5

Hey everyone,

Trying to view a mailing I've sent through CiviCRM before. I'm logged in with my admin account with all permissions granted.

I've navigated to the specific sent mailing > View Report > Mailing Settings > Public URL. Clicking on that URL gives an "Access Denied" error.

All the mailings I send have "Public Pages" set as the Mailing Visibility (under Publication on the specific mailings). I've also double checked and I do have the "CiviMail: view public CiviMail content" checked for all roles.

Any ideas on how I can fix this?

Sounds as if you may the ‘Hashed Mailing URL's’ option selected in your CiviMail Component Settings –

Administer > CiviMail > CiviMail Component Settings

/civicrm/admin/setting/preferences/mailing?reset=1

If enabled, a randomized hash key will be used to reference the mailing URL in the mailing.viewUrl token, instead of the mailing ID


How do I set up a "Mailing List Only" option in CiviCRM 5.29.1? In addition to setting up paid Membership Sign-up, I am trying to create a free "Mailing List Only" option. I created a contribution page entitled "Mailing List Only", created a "Mailing List Only" Price Set and even a "Mailing List Only" Financial Type so that I could set the price to $0.00.  But when I try to test-drive the page, I get the following message:
"The requested online contribution page is missing a required Contribution Amount section or Membership section or Price Set. Please check with the site administrator for assistance."
I am using CiviCRM 5.29.1 and WordPress 5.5.3 running Blocksy theme.
I hope someone can help me!

Welcome to StackExhcange MABB. The Documentation of CiviCRM should provide all the information you need to set up a mailing subscription page: https://docs.civicrm.org/user/en/latest/email/set-up/.


How to create a custom action within context of the current record My goal is to display a link or button for a given participant record on the Events tab of a contact record (or possibly within the More link in participant search results). On click, it will open a screen with an editable message template pre-loaded that can be emailed or printed to PDF. The template would contain a token to be filled based on a parameter that is the value of a custom participant field. The token's data is based on a SQL query, from whose results I'll create an HTML table to display a participant invoice.

I'm guessing I'll need to write a custom token, but there are several other components at play required to make this happen. SQL is my thing, so that part is done. But I'm middling in PHP, and fairly novice in Civi extensions. What is the "right" way for me to attack this problem? Are there any complete examples of the parts involved in this, i.e. creating a contextual link, loading a screen with a message template, having a participant context for my custom token in order to get proper query results, anything else I'm forgetting?

civix is a cli tool that will help you a lot to write that extension. you will have to:

write a hook to get that extra token
add a page to let the user add the custom message (civix generate:page once you have generated the extension)

Instead of a token, it might be easier to generate the html and merge your html table, the custom message and a template and send it as a mail (or generate the pdf)

As for the custom link, it depends on which screen and how you want to add it, we might have already a hook to add an extra action, or you can use a hook when the form/page is generated to add the needed buttons/links.


install in subdomain with Joomla we are moving from an access database to civcrm shortly.  I have decided to load it on a subdomain.  our public website is joomla based, so it probably makes most sense to stick with that. so loading joomla and having civicrm installed as the only component on the subdomain installation.
That being said,  should the sub domain files be loaded in the public_html folder or just in the home folder?
We want to keep the civcrm info private and i will be likely using the api to get data to the public site or performing some scheduled export from civicrm import into data table for extentions procedure we already have in place for showing events etc.
Does it matter?  I dont think it should but first timer here!  lol

This is more of a web server configuration question than CiviCRM-specific.  Having a subdomain (that is, civi.mysite.org, not mysite.org/civi) doesn't even require the sites be on the same server, let alone in a directory of another.
I recommend a complete separation of their folders (assuming non-crappy hosting that doesn't make this difficult/impossible).  When placing a CMS inside another CMS's folder, you can end up in scenarios where files that shouldn't be web-readable become web-readable.


Command are running manually, but cron is not running I'm running CiviCRM 5.32.0 on WordPress 5.6 hosted by Hostinger.
1st step I test cv.phar =
php /xzy/wp-content/plugins/civicrm/civicrm/bin/cv.phar api Job.process_mailing --user=abcd --cwd=/xyz
2nd step I test a script using that command with the same result OK =
bash civicron_2.sh
{
"is_error": 0,
"version": 3,
"count": 1,
"id": "processed",
"values": {
"processed": 0
}
}
3nd step, I created the cron rule in Hostinger panel (every 30 minutes) =
0,30 * * * *    /usr/bin/php /xyz/abcd/civicron_2.sh
But finaly CiviCRM UI says : "no cron job is running" and the only way I succed to run Job is manually on the CiviCRM UI.
I need advice to go further.
BR hervé

In order to close this post, I'll explain the solution.
There were 2 mistakes:
1/ the parametre cwd= (current working directory)  was incorrect.
2/ the way I use UIHostinger for cron was incorect.
My solution is:
0,30 * * * *   /usr/bin/php /home/u781989671/public_html/wp-content/plugins/civicrm/civicrm/bin/cv.phar api job.execute --user=myuser --cwd=/home/u781989671/public_html
best regards,
rv


How can I connect my website to CiviCRM on a remote server? The easiest common installation pattern is to have CiviCRM and the frontend website on the same server using the CMS as the website but it is often said there are benefits to keeping them separate.  Multiple approaches and extensions have been developed to facilitate this - but our documentation does not (yet!) provide any guidance on these.

The purpose of this question is to gather information about the various tools that exist, what problems they solve and how they fit together as the basis for a new section in the documentation.

What extensions exist to connect a frontend website with a backend CiviCRM?

For example, CiviMRF, CiviProxy, RemoteForm,

What can they be used for?  Eg - mailing list signup, event signup, personal profile updates, contributions etc
What front-end extensions/modules/plugins work with them?

For example, do webform-civicrm, Caldera forms, Contact Form 7 work with those remote connectors?

What back-end extensions work with them?

For example, do form-processor dataprocessor work with remote connectors?

Notes:

I know the normal advice is not to ask multiple questions in one SE question. But think of those as sub-parts of the overall question "How can I connect my website to CiviCRM on a remote server?"
There are some previous related questions but the aim here is to get a comprehensive list of current recommended methods.
Eg:
creating contacts from remote websites
Webform CiviCRM integration with REST
Using iframes to present contribution page on remote site
CiviCRM and WordPress on different hosts?
If we get one great all-encompassing answer, that can become the basis for the documentation update.  More likely, we'll get a selection of answers on particular tools that will need to be consolidated.

I am not even going to try and answer it all in one go :-) But I am happy to share the configuration that my customers with remote CiviCRM's use.

They all basically have a public website (Drupal 7 or 8 in most cases, Wordpress in some but in theory any CMS would do) on a server and a separate CiviCRM in a "dummy" Drupal 7 on another server. I use the word "dummy" because in this case Drupal 7 on this CiviCRM server really only is the operating system that makes CiviCRM run.

They all use CMRF on their public website to be able to connect to another server. CMRF is a framework that enables a website to connect to one or more CiviCRM instance(s). The core is CMS agnostic, and there are currently implementations for Drupal 7, Drupal 8 and Wordpress. If an organization would want to use another CMS they could develop a CMRF implementation for that specific CMS.

Almost all of our customers that work in that way use CiviProxy as a gatekeeper for their CiviCRM instance(s). CiviProxy is a a kind of policeman that checks if the request you want to send to the CiviCRM server is allowed. So the public website (or other webservices!) sends a request to CiviProxy, CiviProxy checks if the credentials are correct and if the request is allowed and if so, sends it to CiviCRM and returns the result. Documentation on CiviProxy: https://docs.civicrm.org/civiproxy/en/latest/

We use the Form Processor extension (https://civicrm.org/extensions/form-processor) to create webforms on the public website that communicate with CiviCRM. If the website is in Drupal 7, there is a module called CMRF Form Processor that makes it a little easier. Documentation on the Form Processor: https://docs.civicrm.org/formprocessor/en/latest/

We use the Data Processor extension (https://civicrm.org/extensions/data-processor) when we want to show data from CiviCRM on the public website.


Fatal DB query syntax error on rules search - Civi 5.0.0 and recent Civirules I have 7 rules set up to help automate membership management.  All are tagged with the same tag and all but one are active.  WHen I search by tag or for all rules I get the correct result, but when I search by the tag AND all rules I get a DB query syntax fatal error. This is from the log:

[db_error: message="DB Error: syntax error" code=-2 mode=callback callback=CRM_Core_Error::handle prefix=""

info="SELECT COUNT(DISTINCT(crr.id)) AS total
      FROM civirule_rule crr
LEFT JOIN civirule_trigger crtrigger ON crr.trigger_id = crtrigger.id
LEFT JOIN civirule_rule_tag crtag ON crr.id = crtag.rule_id
LEFT JOIN civicrm_contact contact ON crr.created_user_id = contact.id WHERE  AND (crtag.rule_tag_id = 1)

[nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND (crtag.rule_tag_id = 1)' at line 5]"]

I suppose that some condition is expected between WHERE  AND that I emphasized in bold.   This same error happens on Civirules 1.23 and 2.1.  The upgrade also updated the database, but I tested on a separate, older system that had not been upgraded.

Could this be due to some database corruption or is it a bug?

I do not know without checking on your site. I have recently tested 2.1 on an existing site and it worked there. You might want to check if the civirule_condition table is still populated? It might be that it got accidently cleaned out.

If that is the case, you will have to take note of what your conditions/actions where, run the sql scripts insertCiviRulesConditions and insertCiviRuleActions from the sql folder of the extension to re-create them. And then you have to rebuild your rules in the UI.


Validate Drupal accounts after becoming a member? In Drupal, our website is set up so that people must validate their accounts when they sign up for one. Normally, they are not able to access the "subscribe" page (for specific training content that they pay for) until they have a validated account, but some people seem to be paying for a membership without validating their account first, which gives them all kinds of problems do to how content access is set up.

Is there a way to validate an account in Drupal at the same time that the member role is assigned to them?

Drupal 7.50 CiviCRM 4.7.15

Is your validation/invalidation a user role in Drupal?

In that case you can use the Drupal rules module to trigger a role change that checks for 'unvalidated user' when the 'member' role is added, and removes it if found (or the other way around depending on which way your validation works). If your validation triggers on anything that rules can be connected up with this should work, even if it's not a role.

One weird fringe case of data security I would consider with the process you described is if you handle any semi-sensitive to sensitive data and if validated users can access/change about themselves that may already be in your database. In that case anyone could get a validated account that hooks up to the contact data and access it by using an email that is not theirs, even if they don't have access to the email account, simply by paying for a membership.


Setting Up CiviEvent to Manage Two Side by Side Events with the Option of Registering for Both What might be the best way to set up CiviEvent that can register attendees for two events, with one that is directly before the other event, as well as having the option where people can register for both at a discount?

I haven't used CiviEvent before, and from reading the documentation wasn't sure of the best approach. I thought there may be three ways of doing it:

Set up three distinct events in CiviEvent. One for each individual event and one for both.
Set up two individual events where each has an option in the pricing to include the other event.
Set up one "parent" event that includes pricing options to go to either both or one of the "child events"

In option 1, having three events may be problamatic as there would be two attendance lists for each event.

It seems that the second option might be easier but then I don't know how it would handle registration for the second event, as the person registering for one event would only appear on that individual event registration list.

For the third option, I'm not sure how the registrations would work for working out who was going to which child event. Would this be using Smart Groups? And I could forsee difficulties setting up automated responses depending on which child event had been selected.

Any guidance much appreciated! (I am using Drupal 7.60 with CiviCRM)

Have you tried Webform CiviCRM module? It will let you add multiple CiviEvents as simple checkboxes, set fees, assign discounts based on conditionals, sign up multiple participants, relate them to each other all on one page.


Is there a reason why custom field sets cannot be multiple value? I've added a custom field set to the Participant entity, but I need to it allow for multiple values. I've noticed that the Contact entity has no problem with this, but is there a reason why it doesn't give you this option for other entities?

I've found the cause in this function in the templates/CRM/Custom/Form/Group.tpl file:

  /**
   * Check if this is a contact-related set and show/hide other options accordingly
   */
  function showHideStyle() {
    var
      extend = $(this).val(),
      contactTypes = {/literal}{$contactTypes}{literal},
      showStyle = "{/literal}{$showStyle}{literal}",
      showMultiple = "{/literal}{$showMultiple}{literal}",
      showMaxMultiple = "{/literal}{$showMaxMultiple}{literal}",
      isContact = ($.inArray(extend, contactTypes) >= 0);

    if (isContact) {
      $("tr#style_row, tr#is_multiple_row").show();
      if ($('#is_multiple :checked').length) {
        $("tr#multiple_row").show();
      }
    }
    else {
      $("tr#style_row, tr#is_multiple_row, tr#multiple_row").hide();
    }

    if (showStyle) {
      $("tr#style_row").show();
    }

    if (showMultiple) {
      $("tr#style_row, tr#is_multiple_row").show();
    }

    if (!showMaxMultiple) {
      $("tr#multiple_row").hide();
    }
    else if ($('#is_multiple').prop('checked')) {
      $("tr#multiple_row").show();
    }
  }

The documentation says they are only possible for contact records. See https://docs.civicrm.org/user/en/latest/organising-your-data/creating-custom-fields/#multiple-record-fieldsets. I expect the reason for this is that it would have been a lot more effort to add it for all for other entities. There are some built in ones for contacts so I guess it was easier to extend for contacts. It wasn't there from the start


Alternative to modify Core XML I need to make a minor change to CRM/Core/xml/Menu/Admin.xml so that people that manage events can also schedule email reminders, exactly like Lobo describes the answer here: https://forum.civicrm.org/index.php?topic=28431.0

I know that we can make custom changes to tpl files without changing core files, is it possible to also make a change to an XML from this particular directory?

You could try creating you own extension with your own xml file that use the same path as the one you want to change.

You should use civix to create the core file of the extension. The new extension needs only 3 files :

info.xml (to be completed after civix has generated it)
yourextension.civix.php (you don't have to touch this one)
yourextension.php (only touch it if you need additionnal customization like hook call)

Then you just have to add a xml file in yourextensionpath/xml/Menu/ that contains the modified menu entry like :

 <?xml version="1.0" encoding="iso-8859-1" ?>
 <menu>
   <item>
     <path>civicrm/admin/scheduleReminders</path>
     <title>Schedule Reminders</title>
     <desc>Schedule Reminders.</desc>
     <access_arguments>administer CiviCRM;access CiviEvent</access_arguments>
     <path_arguments>action=update</path_arguments> (also tried with <path_arguments>group=scheduleReminders</path_arguments>)
     <page_callback>CRM_Admin_Page_ScheduleReminders</page_callback>
     <adminGroup>Communications</adminGroup>
     <icon>admin/small/template.png</icon>
     <weight>40</weight>
   </item>
 </menu>

After activating your extension, you may have to go visit civicrm/menu/rebuild&reset=1 to clean the cache.


Is CiviCRM compatible with Postgres and Wordpress? Is there a version of CiviCRM that's compatible with Postgres and Wordpress?

No.

CiviCRM uses MySQL functions extensively, so it can't be run with PostgreSQL.

This has been raised before over on forum.civicrm.org (at least in 2010 and 2007). Tim Otten's answer in this forum post may also help understand some of the workings currently in the DB layer (and specific to MySQL).

It could (in theory) be done, but it would take significant effort and leadership from the community who wanted to make it happen.


Does Civi still support the ability to set a specific start date for recurring contributions? Civi used to have a feature that allowed me to set a start date other than "today" when I set up a recurring contribution with a credit card. We did not have this field active on our website, only staff used it to tweak recurrings as necessary. After we upgraded recently to 4.6.2 I can no longer find that field. I accessed it by clicking on Submit a Credit Card Contribution button. I don't recall exactly where it was placed, only that I used it several times and it was a great feature for us.

Am I missing something? Did this feature get moved? Or should I go to Civi's forum and ask for it to be re-instated?

This issue appears to have been resolved. When we upgraded to Civi 4.6.10 the missing fields have reappeared. These fields were very useful, not having them was problematic, and I am very happy that I can use them again.


CiviMail Mailing Scheduled But Not Sent I have set up a mailing and scheduled it. The date and time has been and gone and the status is still scheduled... Any ideas where I am going wrong?

It's possible that your cron isn't set up.  I would check to make sure that your Status Console (Administer menu » Administration Console » System Status) doesn't have a "Cron Not Running" message (check the hidden statuses if there are any!).

It's also possible that the Scheduled Job to send mailings hasn't been enabled. Check Administer menu » System Settings » Scheduled Jobs and ensure that Send Scheduled Mailings is enabled.  You can also see the last time it ran and ensure it matches your expectation from cron.

Finally, if the job DID run, click the View Job Log link next to the Send Scheduled Jobs record.  If you're not sure how to interpret the result, please edit your original question to include the log.


Use map with election boundaries on I use maps to see where my volunteers are. It would be cool to see them on a map with the electoral boundaries on top. Is it possible to change the “base layer” map from google or wherever to a google map that I had put the ward boundaries on.....?

It is not really possible within CiviCRM. However if you are on Drupal you could create a view and put that view on a map with your own layer.


Export of custom multiple choice options to CSV files limited to 32 characters A user is trying to export data from an advanced query on custom fields to a CSV file using the "Export contacts" action. This fails with a backtrace which is attached below. The error message is:
#6 /var/www/libertarian/vendor/pear/db/DB/mysqli.php(936): DB_common->raiseError(-1, NULL, NULL, "\nINSERT INTO civicrm_tmp_d_export_1d387c75256673080ad64346b3c095c7 (`id`, `l...", "1406 ** Data too long for column 'custom_49' at row 13")

The custom_49 field referred to in the error is a select list with a set of multiple choice options, some of which are up to 55 characters long.
The bug is that the temporary table that is being constructed to service the export to CSV is constructing the column as VARCHAR(32) while the text value of the multiple choice options in civicrm_option_value is a VARCHAR(512)
Details
If I select the schema of the table civicrm_tmp_d_export_1d387c75256673080ad64346b3c095c7 it reports the table structure as:
CREATE TABLE `civicrm_tmp_d_export_c3a74c8fb66b720f55e2661dab58716b` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `last_name` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
  `first_name` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
  `nick_name` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL,
  `street_address` varchar(96) COLLATE utf8_unicode_ci DEFAULT NULL,
  `city` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
  `email` varchar(254) COLLATE utf8_unicode_ci DEFAULT NULL,
  `phone` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL,
  `sort_name` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL,
  `custom_61` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `custom_50` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL,
  `custom_51` varchar(16) COLLATE utf8_unicode_ci DEFAULT NULL,
  `custom_68` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL,
  `custom_58` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `custom_49` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `index_street_address` (`street_address`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

Indeed it is trying to insert the text value of an option into a temporary table and several of those text options are over 32 characters in length.
SELECT label,CHAR_LENGTH(label) as length FROM civicrm.civicrm_option_value WHERE (option_group_id=103) AND (CHAR_LENGTH(label) > 32)

returns
| label                                                   | length |
|---------------------------------------------------------|--------|
| 003 - Aurora–Oak Ridges–Richmond Hill                   | 37     |
| 005 - Barrie–Springwater–Oro-Medonte                    | 36     |
| 035 - Haliburton–Kawartha Lakes–Brock                   | 37     |
| 039 - Hamilton West–Ancaster–Dundas                     | 35     |
| 040 - Hastings–Lennox and Addington                     | 35     |
| 052 - Leeds–Grenville–Thousand Islands and Rideau Lakes | 55     |
| 061 - Mississauga East–Cooksville                       | 33     |
| 073 - Northumberland–Peterborough South                 | 39     |
| 102 - Stormont–Dundas–South Glengarry                   | 37     |

Ahh it's a field of type number, which means it's getting set here: https://github.com/civicrm/civicrm-core/blob/77c3b7089c290880a7599cc77cdbe87fa6958c13/CRM/Export/BAO/ExportProcessor.php#L1498.
So yes if it's an option list then there's a mismatch. You could work around it by defining the field as type string instead and still use numbers as the values. But yes in general it seems like a bug - you could file a ticket at https://lab.civicrm.org/groups/dev/-/issues


Event Registration on Behalf of a Contact is Broken Wordpress: 4.9.6
Civi: 5.3.0

When trying to add event registration on behalf of a contact, I encounter a javascript error that is causing a couple issues:

I am unable to select an existing event.
Any event custom field accordions are missing. They usually appear at the bottom of the other fields.

This is the error that I'm seeing in the Chrome Console:

Uncaught SyntaxError: Unexpected token ,

// Event and event-type custom data
CRM.buildCustomData('Participant', eventId, , null, null, null, true);

Looking in Participant.tpl, {/literal}{$eventNameCustomDataTypeID}{literal} seems to be the missing parameter or token.

I'm wondering if there is a DB issue. I can't find anything useful in the Civi logs. This Civi instance was migrated from Joomla to Wordpress and I'm wondering if something got lost in the move.

Here is a side by side screenshot if you need a visual reference.

Any help would greatly be appreciated!

This error usually occurs when the option values for Custom data type are disabled or deleted. Make sure you have all the options values required for event are enabled for Custom data type option group. Here are the options

If a option value is missing then you will need to add the option value either through UI or api. However for some option values its not possible to add same options with same machine name so it is always better to add such options through API Explorer.

Navigate to CiviCRM >> Support >> Developer >> API Explore. And use the options shown in the image below once you are done with selection then click on execute button for api to process the params you selected.

HTH

Pradeep


No cron runs have been recorded (CiviCRM 4.7.25 on Wordpress 4.8?) I don't know how could I solve this problem. I have this problem from the beginning of installing. I read the other answers at this forum but they could;n solve my problem.
would you please tell me how can I solve this error step by step?

From your second image, I see that you have not yet set up cron for CiviCRM. The first entry in your crontab executes the Wordpress job. A second entry is needed to execute the CiviCRM job.

Here are the instructions for doing so: https://docs.civicrm.org/sysadmin/en/latest/setup/jobs/#choosing-a-method


What is the purpose of the Disable Expired Relationships scheduled job? This forum link where it was born seems to suggest that it's needed as a replacement for hooks or to be able to filter them in drupal views. But it seems you can make a view that filters based on end dates in the past, and there are hooks for relationships (maybe there weren't at the time of the original post).
An alternate way of asking this question is "what does is_active mean for relationships"? Is it just a stand-in instead of using effective-dating queries such as are common in PeopleSoft or HR systems (which have broader use, e.g. list all the people who were active employees in 2019)? Is it just a redundant data field that means "end date in the past"?
Besides trying to understand whether it's redundant and maybe a bit fragile, one reason I'm asking is that anyone who's using this scheduled job would be dependent on the fact that civi ends relationships when it does, and so a change to that would affect this. So another way of asking this question is "Is anybody using this scheduled job and can describe your use case a little bit?"

End date alone does not determine if the relationship is 'active' or not. It will remain active until the scheduled job kicks in and makes it inactive. Examples include inherited memberships (membership by relationship). If you look in the advanced search you can see a radio option for active/inactive relationships. Its important to note anything in Civi that is using relationships to work out if it should carry out the action will most likely look for active relationships.


How do I remove previous event details from new event? sorry if this is terribly obvious, but I'm new to Events. I'm trying to set up a new event, and at the bottom of the registration page details from a previous event keep coming up - as in the screenshot below. I've tried to update the address settings several times, but it won't go away. How do I get rid of this?

thanks!

It looks like someone has created a custom field set for events. I gather from you desciption of "previous event" the event that related to is in the past.

If you go to Administer > Customize Data and Screens > Custom Fields you should see a field set named Kodaly workshop.  Click on more on the far right and disable the field set.


How to resolve error: "Recurring contribution, but no database id"? When processing a new recurring membership, with the "Please renew my membership automatically" option enabled, we get the following error:

  Sorry but we are not able to provide this at the moment.

  Recurring contribution, but no database id

What can we do to troubleshoot/resolve this issue?

Temporary fix

As a temporary fix, we set the Membership Type Auto-renew Option value to No auto-renew option. Now, we can process memberships, but those memberships can not auto-renew.

We would like for members to have the option to auto-renew their membership.

Environment

Drupal 7.x
CiviCRM 4.7.x
MySQL

I am also experiencing this issue and have raised an issue in JIRA - https://issues.civicrm.org/jira/browse/CRM-18389.  You can fix this by upgrading to CiviCRM 4.7.9 or higher.


How do I install CiviCRM on Backdrop? Given that the answer to whether CiviCRM will work with Backdrop is Yes, and that the integration is "functionally complete" -- how do I install CiviCRM on an existing Backdrop site?

It is not included in the wiki instructions yet, and when I download the latest Civi 4.7.x Backdrop tarball from Sourceforge and try to follow the Drupal 7 instructions on /modules/civicrm/install/ I get an error:

  This installer can only be used for the Drupal version of CiviCRM.

I have been successful in generating a localhost Backdrop version with buildkit but not installing on a site that is not on localhost.

EDIT: Since this answer, @herb has expanded on this in the Wiki. See "Installing CiviCRM for Backdrop CMS"

There is now an official version of CiviCRM for Backdrop. Once CiviCRM code is placed in /modules, go to

http://MYWEBSITE.COM/modules/civicrm/install/index.php?civicrm_install_type=backdrop

to install. Note the flag to tell the installer that we're installing for Backdrop otherwise it'll not recognize it.

The code changes to get the installer working for Backdrop is almost done (it's waiting to be tested and merged in https://github.com/civicrm/civicrm-core/pull/8177). You've got three options:

Install manually: run the civicrm.mysql queries on your database (in /modules/civicrm/sql/) and manually build the civicrm.settings.php file (from /modules/civicrm/templates/CRM/common/civicrm.settings.php.template) and put it in your webroot (same level as settings.php).
Apply the patches above to tarball you downloaded (plus apply this patch https://github.com/backdrop/backdrop/commit/93ecec4c081002bfc46fec421b5642d496ca3dac to backdrop. Then navigate to example.com/modules/civicrm/install/index.php?civicrm_install_type=backdrop to run the Backdrop-specific installer.
Or, wait until the next CiviCRM 4.7.x minor release and Backdrop 1.x minor release and it should be working well enough. (Use the same url: example.com/modules/civicrm/install/index.php?civicrm_install_type=backdrop)


Can I use membership information in a mail? We are using Memberships including some custom fields to save additional information (e.g. the name of a specific beneficiary supported through that individual membership).

Mailings through CiviCRM can include Tokens to insert contact-specific information like name and address. However, there are no tokens available for membership information.

I guess this is technically more challenging because mail is sent to a contact and a contact can have more than one membership. Is there some feature, extension or workaround to send mail "to a membership" or otherwise insert individual membership information in the text?

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

{latestcurrentmembership.end_date}

{latestcurrentmembership.allend_date}

https://civicrm.org/extensions/nzcofuzioncivitoken

please let us know how you get on with it


How do I make the menubar a different color on my dev/staging sites Wouldn't it be nice if I could visually distinguish my various dev/staging sites with a different menubar color for each one?

Is this possible in CiviCRM and if so what version?

As of CiviCRM v5.12.1 the menubar color is a configurable setting.

On your main site you can change the color via the UI by visiting Administer -> Customize Data & Screens -> Display Preferences.

Since this preference is stored in a system setting, you can override it on your various dev/staging sites by adding a line like this to civicrm.settings.php:

$civicrm_setting['CiviCRM Preferences']['menubar_color'] = '#800000';


How to change hard coded limit of 50 transactional emails? I'm sure I read recently that it was possible to change the maximum number of emails that can be sent using the transactional mail in CiviCRM. Did I imagine this or can the hard coded limit of 50 be set to another value?

It's recommended to use CiviMail for larger mailouts. It's worth understanding the potential consequences of using "simple CiviCRM mail" to do mails in bulk; eg:

Harming your own site's spam reputation by sending many emails without spam compliant unsubscribe links.
Harming CiviCRM platform email reputation by using CiviCRM without respect to spam compliance.
Timeouts and performance issues when trying to deliver large numbers of emails in a single request.
... ?

So, this has long been hard-coded in an attempt to avoid people changing it. The limit is no longer hard-coded; it's become a hidden setting: simple_mail_limit. You should be able to change this setting from the default either by using the CLI tool cv:

cv api setting.create simple_mail_limit=99

Or by adding a setting override in civicrm.settings.php:

global $civicrm_setting;
$civicrm_setting['other']['simple_mail_limit'] = 99;

See configuring hidden settings in CiviCRM for more info, and do take note of advice here to reflect on why you think you need to change this value!


Custom date field formatting with smarty I'm trying to format a custom date field using smarty to send emails. What I want is to have the day of the week included, as "Wednesday, April 18, 2018". It seems that this should work:

{contact.custom_105|date_format:"%A, %B %e, %Y"}

But the mail send hangs. Also hangs if I just use

{contact.custom_105|date_format}

I can use {contact.custom_105} to send the preformatted date "03/01/2018 3:15AM", so I know I'm working with the correct field.

How can I get this formatted as I want?

Found the answer. The civi field token must be captured to a Smarty variable first:

{capture assign=arr}{contact.custom_105}{/capture}{$arr|date_format:"%A, %B %e, %Y"}


Sending SMS Error : Invalid or missing integration API Key I just upgraded to 4.7.28 on wordpress 4.9.1 I am trying to setup my Clickatell SMS provider but I am getting a strange error;

However I have dobble checked the details and have tested it using the URl method:

http://api.clickatell.com/http/sendmsg?user=USERNAME&password=PASSWORD&api_id=3591165&to=6785470505&text=Message

and that work fine, I am just trying to send indervidual SMS's at the moment.

here are the setting I am using:

Any help or insight into where things are going wrong would be appriciated

Zeak,

As per Clickatell api documentation the api url to send sms is
  https://platform.clickatell.com/messages/http/send?apiKey=xxxxxxxxxxxxxxxx==&to=xxxxxxxxxxx&content=Test+message+text

Please cross check in clickatell the api key under SMS Integration tab(it should be of 24 chars with '==' at the end).


Keeping CiviCRM invisible to end users I am evaluating Civi currently using WAMPServer with Wordpress (which our website is built on). Civi creates a webpage as a front end for things like showing event information and registration etc.

While the idea is to have Civi as a plugin on the back end of our website and be therefore attached to it, we don't necessarily want any event information being displayed on the website. Rather, the CRM would just be used to manage and track that information and we would manage the registration etc. internally (At least for now).

My question then is; does the webpage content have to be visible to the end user or can it be hidden and Civi be used purely as a backend system? Subsequently, what are (if any) the security risks of having this auto-generated page dishing out potentially confidential information.

Total noob to Wordpress and Civi so apologies in advance.

I can't think of a down side to the CiviCRM "base page" existing on your WordPress install - other than that you can't use that page for public-facing content. Anyone visiting that page will see holding text, not CiviCRM content of any kind. Viewing CiviCRM content requires query strings to be appended to the "base page" URL plus the appropriate permissions.


CiviMember - Adding a premium when recording a membership payment Our organization wants to be able provide gifts to members who sign up for a magazine subscription. We are using CiviMember to record those contacts who sign up for such a subscription. When we click on Add Membership in the contact record's "Memberships" tab and then select the "Record Membership Payment" checkbox, we would like to have the ability to select a premium through the administrative interface like the way this is available on a front-facing donation page.

For qualifying members, we want to present them with gifts based on the subscription amount and also record this for future reference. This type of recording of a subscription is done offline by our staff. Is this somehow possible via an extension or is there some coding/hook required to make this functionality work?

If these are new subscriptions only then you can create a price set where one price field contains the subscription fee and another the gifts on offer.  The back office staff would select the premium at the same time as they record the subscription payment.


Why is filtering by custom country multi-select in a Drupal View not working? I have a searchable directory listing a group of users, made with a Drupal View. The user profile includes a list of countries where they have relevant work experience, and this data is stored in a custom country multi-select field in Civi.

I want users searching the directory to be able to search based on this country information, and so I have exposed the Views filter to users so that they can select one or more countries and view a list of contacts who have experience in those countries.

Only it doesn't work.

The query that the view generates is:

SELECT civicrm_contact.id AS id, civicrm_contact.first_name AS civicrm_contact_first_name, civicrm_contact.last_name AS civicrm_contact_last_name
FROM
{civicrm_contact} civicrm_contact
LEFT JOIN {civicrm_value_public_profile_12} civicrm_value_public_profile_12 ON civicrm_contact.id = civicrm_value_public_profile_12.entity_id
WHERE (( (civicrm_value_public_profile_12.countris_88  = 1013) ))

(this example is searching on the country Australia, which has the code 1013). In this instance the query returns no results.

Looking at the database, the column civicrm_value_public_profile_12.countris_88 does include two records that include the country code 1013.

Whatever I put into this search field I get zero results.

The settings.php file has been updated to include reference to the table for Views.

The country codes that are stored in the custom database field are not comma separated in cases where the user has selected more than one country when they created their profile. For example, where a user has selected both Thailand and Australia the field contains: 11211031 rather than, for example 1121,1031. Civi seems happy enough with this, so I'm assuming that the Views handler for this field type is broken?

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

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

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


One time gift intended to be recurring We recently had a donor give a one time gift that they intended to be a recurring gift. Hard to say if they neglected to click the box or if they did and something went awry. Regardless, what we are trying to correct now is that they would like the gift to occur monthly. Can I do something in the UI or in the database to turn this one time gift into a recurring gift, or is it best just to have the donor try again next month?  Thanks!

Drupal 7, Civi 4.6 LTS, iATS payment processing

If the donor did not initiate the recurring contribution - then the extension did not tokenize the credit card - so you’ll need the card credentials from the donor to set up the recurring contribution.


Show validation errors on custom elements added using hooks I added a text element to a New Event page using buildForm hook.

function mymodule_civicrm_buildForm($formName, &$form) {
 if ('CRM_Event_Form_ManageEvent_EventInfo' == $formName) {
    $form->add('text', 'custom_element', ts('Custom Element Label));
    CRM_Core_Region::instance('page-body')->add(array(
     'template' => 'CustomElement.tpl',
    ));
  }
}

And I added a validation code using validateForm hook which looks like this:

function mymodule_civicrm_validateForm($formName, &$fields, &$files, &$form, &$errors) {
  if ('CRM_Event_Form_ManageEvent_EventInfo' == $formName) {
    if ( validation condition fails )
      $form->_errors['custom_element'] = 'Validation message';
    }
  }
}

But when validation fails, let alone error, the text element is not shown at all. How do I get it to show both the element and the error on the element?

It should be something like below

function mymodule_civicrm_validateForm($formName, &$fields, &$files, &$form, &$errors) {
  if ('CRM_Event_Form_ManageEvent_EventInfo' == $formName) {
    if ( validation condition fails )
      $errors['custom_element'] = ts('Validation message');
    }
  }
}

HTH


Can you include CiviCRM ID in exported fields? Our administrator needs to export email addresses for households and individuals complete with CiviCRM ID so that an audit of imported data can be undertaken. However, CiviCRM ID isn't available in the select fields stage of contact export.
Is there any way to work around this?

Hmm, I export this all the time.  Maybe it isn't named what you think it's named.  It's called "Internal Contact ID" in the pull down menu.

If you don't find this what version of Civi are you using?


Fatal error: Class 'DB_DataObject' not found in /sites/all/modules/civicrm/CRM/Core/DAO.php on line 49 After upgrading to 5.13.4 all of Civi has disappeared to be replaced with the error

  Fatal error: Class 'DB_DataObject' not found in /var/sites/c/[site]/public_html/sites/all/modules/civicrm/CRM/Core/DAO.php on line 49

I first noticed it trying to visit /civicrm/upgrade?reset=1 after uploading all the updated files, but it appears trying to load any part of CiviCRM. Drupal (7.67) still loads fine, though it's still in maintenance mode at the moment.

And ideas what's gone wrong?

can you delete the existing civicrm folder and untar it from here https://download.civicrm.org/civicrm-5.13.4-drupal.tar.gz and perform upgrade?


Error When Upgrading To 5.17 Wordpress install. Deleted out the CiviCRM folder like many times before. Reinstalled the new one. Get the following error:  Error Details

  An error of type E_COMPILE_ERROR was caused in line 834 of the file
  /home/xxxxx/public_html/wp-content/plugins/civicrm/civicrm.php. Error
  message: require_once(): Failed opening required
  'CRM/Core/ClassLoader.php'
  (include_path='.:/opt/alt/php72/usr/share/pear')

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?


How can I see the number of memberships at a given date in the past? Is there a way to see how many current members you had on a past date?

For example, how many current members of a specific type on December 31st, 2014?

Thanks :)

While there might be more elegant solutions possible with Reports (?), you can get the count using an advanced search:

Select Search | Advanced Search from the menu
In the Basic Criteria section select Display Results As: Memberships
In the Memberships section of the search form set Start Date to Choose Date Range and then set To to the date you are interested in (for your example 31/12/2014). Leave the From field empty.
Also in the Memberships section set End Date to Choose Date Range and then set its From to the day after the date you are interested in (for your example 01/01/2015). Leave its To field empty.
In the Memberships section you can also check the type(s) of membership you want to be retrieved.

After you run that search, CiviCRM is displaying the number of results - which is the number of active memberships at that point in time.

Next to the number of results it is also listing the search parameters used. For double checking, this is what it shows when I run it:

993 Results - Memberships
Start Date - less than or equal to "31. December 2014 11:59"
...AND...
End Date - greater than or equal to "1. January 2015 12:00"

Explanation
This search is filtering memberships that started any time before (Start Date To) 31/12/2014 and did not end before 01/01/2015 (End Date From).
If you are using the memberships in a way that is correctly updating the Start and End date of the memberships, this should return the correct results.


Adding Custom Field to Contact Membership Tab CiviCRM 4.7.9

I have a custom field that I created for memberships. I would like to have this field displayed as a column within the membership tab when viewing a contact.

I've been digging into the tpl/php files and trying to pin down how to do this, but I keep getting lost.

Can anyone help give me some direction for this?

Thanks!

The template you're looking for is templates/CRM/Member/Page/Tab.tpl.  The "browse" action is number 16, and takes up the vast majority of the template, starting around line 33.

You'll want to populate the $activeMembers and/or $inActiveMembers array with modified data.  Those are defined in CRM_Member_Page_Tab around line 211, but most likely you'll want to modify the $membership array that they're both based on.  The browse() method of that function is mostly a "while" loop devoted to building the $membership array, but is sadly devoid of hooks.


Uncaught ReferenceError: CRM is not defined whilst open the "directories" page on the admin page I moved my civicrm installation from Drupal to Joomla (well testing the migration). So far all seems to be ok.. However when I open the "directories" page via the admin page I get a unstyled page that is throwing the following error: Uncaught ReferenceError: CRM is not defined

Remove already the cache and cleaned some known directories but still the issue persists.

It sounds like your Resource URLs and directories need to be updated.

Since you're having trouble opening the directory page, try using an override in civicrm.settings.php.


Tableau integration with Civicrm Can we integrate tableau with civicrm to get enhanced report functionalities?

I use Tableau to enhance the reporting possibilities of CiviCRM.

Tableau can connect to many different data sources. I use a SQL connection to this, and this gives me full access to all the data tables in CiviCRM. I can then use Tableau to make interesting connections between different tables in an easy way.

I have not explored API connection, but I think that would be just as possible as SQL connection.


Webform 'previous page' button gives 500 server error W7 Pro SP1
Firefox v.42, IE11, Chrome 46

The version of CiviCRM I’m using has a multipage Webform that I’m having problems with.

Everything works fine as long as I don’t try to use the form’s ‘previous page’ button, but if I do I get an HTTP 500 Server Error

With Firefox I initially get a ‘white screen of death’ (an empty browser – address field, bookmarks bar etc all there, but no content). If I then try the browser’s back button I get a “Document Expired” error message & if I keep clicking the browser’s back button I get back to the form’s ‘Begin’ page

I’ve tried it in Chrome & I get a “Server error 500” message & in IE I get ”HTTP 500 Internal Server Error”

My understanding is that a “500server error” is a very general error message, just saying that there’s a problem with the/a server....so, not that much help really!

My regional branch of the organisation is run by/hosted by another organisation, so to access the database I’m going via the host orgs server as well as the server at the parent organisation (Healthwatch England), which is where the database is & I don’t have admin access to either of them.

After searching for info on this I’ve tried increasing the cache size in firefox, but it hasn’t helped. I’m not sure what else to try.....has anyone come across anything like this before & resolved it?

Any help much appreciated!

Check your civicrm log file under ../files/civicrm/Configlog/.


Schedule reminders broken in 4.6.8 using civi 4.6.8

needed a notification sent to a volunteer when they sign up for an event.  setup a scheduled reminder to catch the action.  everything work ok and email was added to the queue in civicrm_action_schedule.

forced the job to execute.

got back

Finished execution of Send Scheduled Reminders with result: Failure, Error message: API (ActionLog, get) does not exist (join the API team and implement it!)

it's telling the truth.  i can't find ActionLog / Get in the API Explorer.

The JIRA issue appears to be this one
It is marked as CLOSED and "cannot reproduce"


Has anyone every had to limit the number of memberships (of a specific type) that can be sold? Project for swim club: offering kids' swim lessons in different pools + different time/slots. The program sells out quickly so need maximum number of spots available; recurring contribution - monthly payments.

I'm leaning towards looking at this as Membership (with one Membership Type per Pool/time/slot combination). Has anyone every had to limit the number of memberships (of a specific type) that can be sold? Trying to figure out the path of least resistance :-)

This sounds more like civiEvents would work better. You can limit the number of spots(attendees) and even have waitlists. You could set your price set up to be a recurring contribution for the Event.


Creating a Report on Donor History Good morning,

I need to look through our donors and see who is a recurring donor and who is not. What is the protocol to create these kinds of reports?

Thank you!

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.


How Do I Get a CiviCRM Report to be an attachment in a schedule job to email to a colleague? I have created some reports for our membership director and have set up scheduled jobs to email those reports on the first day of each month.

I tested them out but got lines of code and then the report was embedded in the body of the email. I'd prefer to have the reports as attachments in PDF or csv format.

How do we set this up?

Our site is on WordPress.

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


How to add extra text field in Civicrm Contribution page? I want to add text field in Civicrm Contribution Setting Page (CRM_Contribute_Form_ContributionPage_Settings). Please any one help me

You can create custom field from civicrm UI and add that field to your contribution page.


How can you add a gift premium to pledge I may not be understanding CiviCRM's donation model.

There seem to be three separate ways to make monetary donations. Contributions, Pledges and Memberships.
Our current fundraisers have a large percentage of people making pledges and sending in the payment later (either as one big check, or with payments over several months). They usually want a gift premium.
But there's not a way to add a gift premium to a pledge, only to a contribution.
How can I add a gift premium to a pledge ?

This would seem to suggest I have to enter the donations into one of two separate areas. Either as a contribution or a pledge whereas I would like a single way to enter all donations in a single fundraiser.
How can I keep all the donations in the fundraiser together in one report.

I am using version 4.7.17 on WordPress.

For our projects we always use Contributions (instead of pledges); in a nutshell we use: Contributions  - with Status Pending - and with a receive date in the future.

Added: when you receive a check for eg 3 of such pending Contributions you can hit Edit -> record the chq payment, update the receive date to the actual one (the one you had was just the 'promised by' one and toggle their contribution status to 'completed'

You can use any of the Contribution reports to find the Pending ones - you can use all Searches e.g. Final all that are Pending this week (may need follow up reminder) - and you can use Premiums.


Create Wordpress User With Given Username During Import We are trying to have a membership signup page on our WordPress site. The idea is that upon membership creation a user will be created in WordPress.

So I have a membership sign-up page using a profile that I've created. Almost everything works as I want it except for how the users in WordPress are being created. It is creating the username as a combination of title, first name, and last name.

I don't have a username field on the profile. There is seemingly no username data point in CiviCRM that I can add to the profile. How can I ask the user to provide a username or change the way it is auto generating them.

I didn't see the option on the profile to create a WordPress user.

Import Question:

When I import users as contacts from our Excel sheet it sets the username as title plus first and last name. Is there a way to provide a username on import? Is there a way to map a username column in the CSV?

I'm using the membership role sync plugin in WordPress to sync roles across to the users in WordPress. Ideally I would like to import all the contacts (which will have both current and expired members) and then import memberships as separate. Doing the membership import would create the user, correct? Again, I'd like to be able to define the username here.

I figured this out with the help of @Christian Watch.

Christian's plugin CiviCRM WP Member Sync took care of this. Once a filter was added to allow plugins to handle the username I was able to change the username creation during the membership import to be what I wanted.


How does in-line editing editing work in CiviCRM? Is there a reference anywhere for the in-line editing, e.g., 'Click Here to Edit' in CiviCRM? I need something similar for my extension and want to reuse as much as I can.

Assuming you have an API that allows to modify the entity you want (if it's a custom one, it's easy to add), adding a few classes should be enough to enable the edit in place. You need to define the entity that contain the field (class crm-entity, id "type-{id}" on a containing dom node and then "crm-editable crmf-{fieldname}". for example:

    Fred

    Mr.

      No

More details in the doc

https://docs.civicrm.org/dev/en/latest/framework/ui/#in-place-field-editing


How can I restrict access to some CiviCRM tables at the database user level? I have a Drupal multisite setup with two sites connected to the same civicrm database. One site needs access to all of the data as usual. But I would like to hide some data from the other site, so that it accesses the DB on a "need to know basis". There are lots of custom fields for example that contain sensitive data, that the second site will never use.

I would like to secure this at the mysql level by letting the second site connect using a different DB username and to grant that user only the necessary privileges.

It would be nice if I could do this in a subtractive way - first grant all privileges on civicrm.* and then remove access to the sensitive tables. However this does not work in mysql. You have to grant permissions to all the tables one by one if you don't want to include them all. So I did that, and granted SELECT, INSERT, UPDATE and DELETE on all the tables. But there were problems before I even began revokeing anything. The event registration form was missing some fields, for example.

I tried adding a few other permissions - LOCK_TABLES, EXECUTE ... but clearly I am missing something.

What permission which is necessary for civicrm to work is missing from that list but is granted when you grant all privileges?

Your objective is to protect the internal sensitive data from an attack on the public. An option is not to configure the defence on database level but to separate both sites (and run them on separate servers), and connect them with the CiviCRM API. To restrict the allowed API calls you can use CiviProxy


Insert tokens for related contacts in CiviMail Is it possible to insert tokens for related contacts into a CiviMail message? For example the mailing is going to John Smith but we would like to include his spouses name and address? Spouse is the related contact 'Spouse of'.

The Related Tokens extension is currently in development and aims to provide this functionality.


Buildkit and php binary is called php56 I have buildkit installed on my computer however the php command is called php56.

The civibuildkit command fails because it is looking for a command called php.

Is there an easy way I could change the settings in buildkit so it will use the php56 command?

Solution

I put a symlink in /home/jaap/php56/php to the php56 binary and then I created a wrapper script.

mkdir /home/jaap/php56
ln -s /usr/bin/php56 /home/jaap/php56/php

Then I created a script in /home/jaap/bin/civibuild.sh:

#!/bin/bash

export PATH="/home/jaap/php56:$PATH"
/home/jaap/bin/civicrm-buildkit/bin/civibuild $@

I just took a look and the reference to php in the bash scripts seems to be hardcoded.  I'm assuming there's already a php app with a different version, or else you could just put a symlink from php56 to php somewhere in your path.  So I think your best bet is to:

Create that symlink anyway, but don't put it in your default path.  E.g. ln -s /usr/bin/php56 /my/folder/php.
Add a line to civibuild (or call from a wrapper script) that puts the symlink at the BEGINNING of your path, so it's found before your regular php.  E.g. PATH="/my/folder:$PATH".

By putting the symlink in the path only when civibuild is called it won't cause interference with your other applications that rely on a different PHP version to run.


When running event reports, receive Error: '' is not a valid option for field id I use wordpress+civicrm and all worked well since the last upgrade. Now the event report always gives the same error: '' is not a valid option for field id. On the bottom the bugs report.

Thanks

CiviCRM_API3_Exception: "'' is not a valid option for field id"

#0 /wp-content/plugins/civicrm/civicrm/CRM/Core/Form/Renderer.php(219): civicrm_api3("event", "getlist", (Array:1))
#1 /wp-content/plugins/civicrm/civicrm/CRM/Core/Form/Renderer.php(184): CRM_Core_Form_Renderer::preProcessEntityRef(Object(HTML_QuickForm_text))
#2 /wp-content/plugins/civicrm/civicrm/CRM/Core/Form/Renderer.php(103): CRM_Core_Form_Renderer::updateAttributes(Object(HTML_QuickForm_text), FALSE, NULL)
#3 /wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Renderer/Array.php(221): CRM_Core_Form_Renderer->_elementToArray(Object(HTML_QuickForm_text), FALSE, NULL)
#4 /wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/element.php(415): HTML_QuickForm_Renderer_Array->renderElement(Object(HTML_QuickForm_text), FALSE, NULL)
#5 /wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm.php(1703): HTML_QuickForm_element->accept(Object(CRM_Core_Form_Renderer), FALSE, NULL)
#6 /wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(685): HTML_QuickForm->accept(Object(CRM_Core_Form_Renderer))
#7 /wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Display.php(116): CRM_Core_Form->toSmarty()
#8 /wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Display.php(101): CRM_Core_QuickForm_Action_Display->renderForm(Object(CRM_Report_Form_Event_ParticipantListing))
#9 /wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Display->perform(Object(CRM_Report_Form_Event_ParticipantListing), "display")
#10 /wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Report_Form_Event_ParticipantListing), "display")
#11 /wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Submit.php(83): HTML_QuickForm_Page->handle("display")
#12 /wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Submit->perform(Object(CRM_Report_Form_Event_ParticipantListing), "submit")
#13 /wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Report_Form_Event_ParticipantListing), "submit")
#14 /wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(353): HTML_QuickForm_Page->handle("submit")
#15 /wp-content/plugins/civicrm/civicrm/CRM/Utils/Wrapper.php(115): CRM_Core_Controller->run()
#16 /wp-content/plugins/civicrm/civicrm/CRM/Report/Page/Report.php(76): CRM_Utils_Wrapper->run("CRM_Report_Form_Event_ParticipantListing", NULL, NULL)
#17 /wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(312): CRM_Report_Page_Report->run((Array:4), NULL)
#18 /wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(86): CRM_Core_Invoke::runItem((Array:14))
#19 /wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(54): CRM_Core_Invoke::_invoke((Array:4))
#20 /wp-content/plugins/civicrm/civicrm.php(1133): CRM_Core_Invoke::invoke((Array:4))
#21 [internal function](): CiviCRM_For_WordPress->invoke("")
#22 /wp-includes/plugin.php(496): call_user_func_array((Array:2), (Array:1))
#23 /wp-admin/admin.php(226): do_action("toplevel_page_CiviCRM")
#24 {main}

Found it! This bug is fixed in CRM-16333.


Multiple item tax sub-totals are shown incorrectly on confirmation pages and emails We have a site with tax and invoicing enabled on contribution settings.
Drupal 7 civi 5.24.6
Where there is just one item to purchase on a page. The totals and subtotals appear as expected...
Payment amounts from Contribution confirmation page

Payment amounts from confirmation email

But when multiple taxable items are available on a contribution page the taxable subtotals show incorrectly...
Payment amounts from Contribution confirmation page

Here the total VAT (tax) amount shows as £260, when it should be £520- but both line items show correctly and the Payment Total is the correct overall total
Payment amounts from confirmation email

The email acknowledgement for these items is even more broken
The amount before tax shows £2860 instead of £2600, basically a tax amount has been added here.
total VAT line is fine at £520, but the Total Tax line is only showing £260
Again the overall total is correct.
Anyone any idea where these different amounts are being drawn from? How to correct this?

This issue is reported at https://lab.civicrm.org/dev/core/-/issues/1603 and there was a fix merged into 5.27 which is scheduled to be out today, unfortunately the fix was reverted since it created regression bug.