Why external ID removed in membership import in update mode? During Membership import in update mode externalID available in civicrm 2.0
and it seems that it is being removed in CiviCRM 4.6.7.

As I have a csv file to import membership with only externalID field in it.

What am I missing here ? Any suggestions ?

The reason it doesn't work is that in CiviCRM, a contact may have more than one membership, so handling just external ID (or contact ID, at that rate) in update mode could be ambiguous.

I agree that it would be nice to take either of those, simply spitting out errors if it's actually a question of which membership to pick, but that hasn't been implemented.

To update memberships, do an export of existing memberships and get the membership ID, not the contact ID, for the ones you want to update.


Error in civix generate:api "You cannot change the session module's ini settings at this time" When attempting to run this:

civix generate:api Invoice Create

It creates an /api/v3/Invoice folder but doesn't create any files. Instead I get the following:

  Warning: ini_set(): A session is active. You cannot change the session
  module's ini settings at this time in
  /home/ubuntu/civix/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php
  line 56

Civix works for me otherwise; I can create extensions, pages, etc. Any suggestions?

As a workaround, you can create manually the Create.php file that contains civicrm_api3_invoice_create()

Check the api/v3 folder in the core for examples (eg. the email one)

As for civix, do you have the latest version? if it's the case, fill a bug on github


Columns available for sorting in CiviReport seem arbitrary/random I'm trying to run a contact report which sorts by Street Name, but it's not available as a sort option, and the list of options available seem abitrary and vary depending on the base report I use.

Strangely enough, Street Number is available as a sort option, which is definitely useful, but not so useful without Street Name.  Some of the custom fields that I've created are also visible, but not all of them.

Things I've tried:

Checking to make sure address parsing is turned on (it is, and the street_name column is populated in the database with valid data)
Adding the street name column to the report to make it viewable
Trying an assortment of different contact reports as the base report to start from

I'm not sure where to go from here and am really not happy with how convoluted civireport is.  I'm on the verge of starting to look into third party mysql reporting tools to accomplish this and would rather not if I could avoid it.

Does anyone have any suggestions?  What determines whether or not a column appears in the sorting tab?

Well, I started to give an answer, then started digging, and eventually found a bug that affects this particular situation.  I've reported it as reporting#6 and submitted a fix.

It turns out that address_name is defined twice, accidentally.  The first time it's correct; the second time is incorrect, and prevents the address name from being sortable.

I've submitted a fix, which should be in the 11/7/2018 release (CiviCRM 5.7) - but for now, open CRM/Report/Form.php in your CiviCRM root and delete lines 5517-5522.  Note how street_name is also defined earlier, with is_order_bys set to TRUE, which makes it available for sorting.

To answer your other questions:

Custom fields will be available for sorting (and in reports generally) if the "Searchable" option is selected for the field.
There's no shame in connecting a third-party MySQL reporting tool to CiviCRM!  If you use Drupal, you already have a great one in Views; other folks like Tableau and Pentaho BI.  A dedicated reporting tool will always be a great choice.

Some additional thoughts:

Not every report uses this function to determine the fields to include!  In olden days, each report defined its own address fields; now the best practice is to use this function.  This fixes a bunch of reports, but not 100% of them.  Notably, it fixes "Constituent Sumamry" and "Walk List".
Check out the Walk List report, aka "Survey Report (Detail)", since I suspect you're doing a walk list.
If you ARE doing a walklist, upgrade to CiviCRM 5.5+, because there's a bug fix that lets you sort by odd/even street numbers.


Mandrill on CiviCRM - SMTP or API? Is it possible to integrate Mandrill with CiviCRM via their SMTP, or do I need to set up API via extension?

you can send via SMTP, so without any extension.

However, you will not handle events about bounces, so civicrm will not be able to update the contact to flag that the email is invalid.

So you will keep sending emails to the same invalid email, how mandrill will handle that (eg blacklist these emails, invoicing them as sent... up to ban you) is based on how many emails you have in that case and other factors.

Bottom line, if you don't want to risk them closing your account, you should install the extension and configure it properly, it's not a risk worthwhile taking


Completing an abandoned PayPal contribution I have PayPal standard set up as a payment processor for membership subscription payments.

If a user does not successfully complete the process then they get set up as a contact, an account is created in WordPress but the membership payment contribution gets stuck at "Pending (Incomplete Transaction)".

Is there any way to allow the user to complete the transaction?

Thanks in advance

There is currently now way to resubmit a pending contribution either from the front or the back end of Civi - it would be best to cancel the pending contribution and contact the donor to request that they resubmit their membership contribution.

Kind regards,
Tamar


Is it possible to assign a "custom group" to a specific roles of users? I have a custom set of data that I wøuld like be only visible to users with specific permission.  is it possible to achieve? thanks

Use 'Access Control Lists'. You can access it by 'Administer->Users and Permissions'. Then go to 'Manage ACLs' to and define a ACL for a Custom Data Set.


embedded link in email receipt to edit/cancel recurring contributions link only xml Using iatspayments with Drupal 7 and CiviCRM.  Recurring gifts are working properly and cron running daily.

When contributor donates - he correctly receives an email containing the following statement

This is a recurring contribution. You can cancel future contributions by visiting this web page. (https://www.iatspayments.com/NetGate/ProcessLink.asmx?WSDL)

You can update recurring contribution amount or change the number of installments for this recurring contribution by visiting this web page. (https://www.iatspayments.com/NetGate/ProcessLink.asmx?WSDL)

Both links don't work in all browsers

That’s an old issue; please see here for details/solutions:

https://github.com/iATSPayments/com.iatspayments.civicrm/issues/192


How can I specify quantity of tickets on event participant import? I'm trying to figure out if there is there a way to specify quantity of tickets? Like a person bought 2 tickets but civi participant import processes doesn't seem to let me specify that.

Any suggestions?

There isn't a way to record multiple tickets directly - CiviCRM expects every event participant to have a contact record.

The simplest solution is to create a custom field associated with Event participants (or even with the participant role) that indicates the number of tickets booked. The only issue there is whether you can import the custom field - it should be possible, but I admit that I haven't tried this.

One way to get round the issue would be to import a duplicate event participant for the person who booked - but that could be confusing, as there's no way to tell when a duplicate is intentional. (The import process should allow you to skip duplicate checking).

A more complicated solution would be to create a new contact record for the guest (and create a relationship between that record and the person who booked), then import the event participant for that guest record. You can then go back in after the event and add in their real details (assuming you find out who the guest is).

This is assuming you're not also importing event fee information - it's not something we currently track, so I can't really help there - it's possible there are solutions available involving event fees/contributions.


Proper work with incoming mail Already mastered the system. Faced problems, but not here they helped to solve them, for which many thanks.
There was another question, the answer to which I can not find anywhere else.

1) I set up work with incoming mail, but all the letters go to the “Actions” tab, in the client's card. So it should be? Shouldn't they go to the "Newsletters" tab?

2) Where can I read about the organization of work with incoming mail? What is the best way to work with him so that it is most convenient? Are there any real examples of the organization of such work?

3) Is there some kind of Russian-language help, or forum?

Postscript I apologize if someone asked such questions somewhere. I do not know English, because it is difficult for me to understand a huge amount of information.
Give thanks!

Newsletter tab would be for outgoing bulk mailings ie civimail.

Activities tab (what you translated above as Actions tab) is where incoming mail goes because they are created as an Activity.


Can a price set item be marked "Partially Deductible"? Is there a way to add an item and indicate that an item's cost is partly deductible?  For instance, a $500 ticket to a gala dinner that has a $400 deductible component.

I see where to mark financial types as tax-deductible - and I see that there's a field called non_deductible_amount in the civicrm_contribution table.  However, I'm not clear how to populate that value.

I think that's just a manually-set field.  It certainly predates the accounting improvements, and I think it predates price sets.

The problem is that it's not always a reasonable assumption that the bulk of a contribution is deductible.  You might have a organization with a 501(c)3 arm and a 501(c)4 arm.  The dinner is $500 per couple, toward the c3, with $100 non-deductible because it's the value of the dinner itself.  Then, they ask for a $250 contribution to the c4 on the form as well.  The result is that really only $400 of the $750 is deductible, but the non_deductible_amount is $100.

Really, this needs to be at the line-item level or dropped entirely.

I tend to avoid the field and encourage folks to just say in the receipt text that they received $100 worth of goods/services in return for the gift.  The donor can do the math, and it's not too important for the organization to track that at the contribution level.


Data privacy for test environments I'm looking to script the standup of a development environment...specifically, a dev environment that I can allow devs to work in without them seeing personal or sensitive information about our clients.

Partly this is because some of our devs are also our clients and I don't want them to see their fellow clients' information.
Partly it is because some of our devs are all over the world and I feel I owe it to our users who share their very personal details to protect that information.

My thinking on how to achieve this goes something like this:

System Stuff

Use docker with buildkit to jumpstart a Drupal / Civi environment
Pull latest code / themes / modules from our prod site and push it into docker
Dump latest prod database for Drupal and Civi and push that into docker
Make changes to configuration.  e.g. stripe keys, SMTP, etc.

Privacy Stuff - CiviCRM

Replace all first and last names with random words
Replace all street addresses with random words.  Leave postal codes and states.
Replace all phone numbers with random numbers.
Delete all sensitive activities (e.g. our custom ones where we collect personal information), or replace the activities' data with random data
Replace all email addresses with test addresses

Privacy Stuff - Drupal

Replace all webform submissions with random information, at least for those with private info

I fully expected there to be something already out there in our community that I could use for the CiviCRM privacy stuff, but it doesn't seem to be the case.

Do any of you have suggestions for existing tools or scripts?
What do you do for allowing 3rd party developers to work with your CiviCRM instance?

Thanks

PS: Why do this instead of just put in some test users?  We categorize our users in various ways so creating, say, 5 test users of each type is becoming increasingly cumbersome.  Also, it is helpful to be able to test against real data such as our set of historical events, user event registrations, and so on.  I figured writing one anonymization script would be easier than writing and maintaining a script that creates realistic test data.  But tell me if you think I'm going about this wrong!

You should check out the Anonymizer extension.

A word of warning - make sure that outgoing email is disabled!  You don't want any of your CiviRules etc. being triggered and sending out emails.  I saw a colleague who had CiviCRM WordPress Profile Sync installed, which meant that changing the email address in Civi changed the email in WordPress - which sent out a "your email address has been changed" message to everyone who had a login...


Civicontribute registration module with wordpress i created a contribution page, but when an user fills out the fields and pays we receive the paypal advice only without the user data registration. How to solve it?

Make sure you have enabled receipting in the Event configuration - and double check the to and bcc fields!

Reference: https://book.civicrm.org/user/current/events/creating-an-event/

Scroll down (lots) to Confirmation Email section.

If that's working: check that you can send Email from CiviCRM: go into your Administer -> System Settings -> Outbound Email -> and try send yourself a test Email;

Reference -> https://book.civicrm.org/user/current/advanced-configuration/email-system-configuration/


Hidden Smart Group Refresh I've set up a mailing based on a search.  A Hidden Smart Group was created, just like it should.  If I schedule that mailing to go out a week from now, will the hidden smart group update and include more recipients based on the search criteria before it goes out or will it only contain those contacts that were a part of the first search?  Thanks.

As of today the recipients are fixed once you schedule the mailing.

You can experiment with https://github.com/3sd/civicrm-recalculate-recipients, if you want the recipients to be determined once the mailing is sent.

As per https://lists.civicrm.org/lists/arc/civicrm-dev/2017-12/msg00012.html there are reasons to prefer both variants.


Export list of all successful civimails? I feel I should know this and the answer is going to be obvious. Is there a way to export a list of successful civimails? I need the mailing name and date, and it would help to have the mailing list sizes but this isn't crucial. I don't need the participants' details.
I'm using D6 and the latest Civi.

You can use CiviCRM inbuild reports (i.e Mailing Detail or Summary report) or extended mailing stats extension. You can export the result as CSV or PDF


Problem local drupal 8/9 install civicrm: folder is not writable (on Windows) I am a volunteer from a non-profit organization that has problems with the installation of civicrm. We already have civicrm in worpress on an Aruba host (and it works), but we wanted to move to drupal.
I understand that I have to install locally first and then transfer everything to my site (is that right?).
I tried to install CIVICRM locally via XAMPP and Composer on my Windows computer following the documentation (https://docs.civicrm.org/installation/en/latest/drupal8/).
When I get to the "Run the installer" step, I navigate to "Extend" and click on install the "CiviCRM Core" module.
I get the following error:
CiviCRM: System: The settings file "C: \ xampp \ htdocs \ drupal \ sites / default \ civicrm.settings.php" cannot be created. Ensure the parent folder is writable.
I tried to change the permissions and check the installation steps, but obviously something is wrong (due to my ignorance :/ )
How can I solve the problem?
Thanks.

On windows use attrib -r C:\xampp\htdocs\drupal\sites\default to make it writable.


Unknown column 'a.name' in 'field list CiviCRM 5.35.0 on Joomla 3.9.25
Search (basic, advanced or search builder) when I select a Group returns:
 "Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
DB Error: no such field"

I'm not sure when this started happening. We update regularly and haven't had any issues installing updates or running the db update function.
Error log has this:
    Mar 11 05:12:10  [error] $Fatal Error Details = Array
(
    [callback] => Array
        (
            [0] => CRM_Core_Error
            [1] => exceptionHandler
        )

    [code] => -19
    [message] => DB Error: no such field
    [mode] => 16
    [debug_info] => SELECT `a`.`id` AS `id`, `a`.`name` AS `name`, `a`.`label` AS `label`, `a`.`form_values` AS `form_values`, `a`.`mapping_id` AS `mapping_id`, `a`.`search_custom_id` AS `search_custom_id`, `a`.`api_entity` AS `api_entity`, `a`.`api_params` AS `api_params`
FROM civicrm_saved_search a
WHERE (`a`.`id` = "71")
 [nativecode=1054 ** Unknown column 'a.name' in 'field list']
    [type] => DB_Error
    [user_info] => SELECT `a`.`id` AS `id`, `a`.`name` AS `name`, `a`.`label` AS `label`, `a`.`form_values` AS `form_values`, `a`.`mapping_id` AS `mapping_id`, `a`.`search_custom_id` AS `search_custom_id`, `a`.`api_entity` AS `api_entity`, `a`.`api_params` AS `api_params`
FROM civicrm_saved_search a
WHERE (`a`.`id` = "71")
 [nativecode=1054 ** Unknown column 'a.name' in 'field list']
    [to_string] => [db_error: message="DB Error: no such field" code=-19 mode=callback callback=CRM_Core_Error::exceptionHandler prefix="" info="SELECT `a`.`id` AS `id`, `a`.`name` AS `name`, `a`.`label` AS `label`, `a`.`form_values` AS `form_values`, `a`.`mapping_id` AS `mapping_id`, `a`.`search_custom_id` AS `search_custom_id`, `a`.`api_entity` AS `api_entity`, `a`.`api_params` AS `api_params`
FROM civicrm_saved_search a
WHERE (`a`.`id` = "71")
 [nativecode=1054 ** Unknown column 'a.name' in 'field list']"]
)

It might be that the column that you are trying to get in your saved search no longer exists? It is trying to find a record in the table civicrm_saved_search with and id of 71. Can you check if that record exists and what it looks like?


What is the difference between Tracked Opens and Confirmed Opens Does anyone know why there would be a difference/what the difference is between the "tracked opens" that you see on an individual mailing report and the "confirmed opens" you see when you run a mailing report through the reports section of CiviCRM?

The Mail Summary Report shows each time the mailing is opened, rather than the number of contacts who have been tracked as opening it (whether once or ten times).  Current versions of CiviCRM show the "tracked opens" by counting each recipient no more than once.

Just to throw a wrench into the works, many opens aren't tracked at all.  CiviMail (and all mailers that track opens) uses a transparent one-pixel image with a unique URL for each recipient.  When someone opens the email, the image gets loaded, and CiviCRM knows the recipient by the URL.

Now, many email clients don't load some or all images by default.  If the image isn't loaded, CiviMail can't tell the email has been opened.  This can skew open rates low.

It's still a valuable measure, especially in comparison message-to-message, since presumably you'll have the same mix of image blocking among your recipients.  However, know that the number won't include at least a certain portion of people opening your message.


Trying to do a search using tags I have tags set in my database. A few that I want to search by are D1 School, D1AA School and Recruiter. I want to find all contacts that have D1AA School and Recruiter checked off but I can't find any search that does 'and' and it only does 'or'. That gives me any contact that has D1AA School or Recruiter checked. I am trying to create groups based on the tags so I can do a mailing.

You can use the Search Builder (Search menu item > Search builder; see this answer about searching for Groups A and B, it's the same concept) or a custom include/exclude search.

Once you have the search results, you can add the resulting contacts to a group for your mailing.


One option would be to do this using Webform (which allows for multipage forms) and utilising Rules to trigger the Drupal User creation. There was a blog Fuzion wrote sometime ago outlining such an approach.

In order to ensure that people visiting user/register end up on this form use the Redirect module to push them through to the relevant node.


CiviMail causes read timeout on Methods.pm Version 4.6.9

When a scheduled bulk email is sent, Cron Daemon returns read timeout at /usr/local/share/perl5/Net/HTTP/Methods.pm line 271. Line 271 is inside the function sub my_readline. This has been going on for about a week, but it's been months since I've done any settings changes on the server.

Email delivery is unaffected according to CiviMail reports. I get this multiple times if sending lasts for multiple cron cycles. The Send Scheduled Mailings job shows no anomalies. Does anyone have experience resolving this error?

It sounds like your site or hosting environment runs cron via some Perl wrapper.

You may need to talk to your hosts about hitting this timeout when cron tasks are running - if they call cron via a web based tool which times out after a few minutes, that tool may not be suitable for running Drupal cron.

Talk to your hosting experts and see if they can help?


Error Fetching HTTP headers - iATS Recurring contribution We are setup with iATS for credit/debit card and ACH transactions and are in the last stages of testing.  One time card and ACH contributions are working.  For the sake of testing, we are doing daily recurring contributions to make sure the mechanism works.  We haven't yet tested recurring ACH.  Recurring credit card transactions are going through, but with mixed results.

Issue: Within the last week, we've gotten intermittent errors during the recurring contribution scheduled job that prevents the contribution from being marked Complete in Civi.  The error is "Error Fetching HTTP Headers."

Symptoms: Two transactions with through perfectly (Aug 17 12:00am; Aug 23 12:00am) and emailed automatic receipts.  The other transactions, however, are processing (visible in iATS' journal and with my bank), but marked Pending (Incomplete Transaction) in Civi.  The Civi source reads: iATS Payments Recurring Contribution (id=2) Unexpected Server Error, please see your logs. Emails for these Pending transactions did not send.

Details:

In the Job Log for iatsrecurringcontributions:
The job last night started at 2016-08-24 00:00:04 and then finished at 2016-08-24 00:01:07 with these details:

  Parameters parsed (and passed to API method):
  a:1:{s:7:"version";i:3;}

  Full message:  Finished execution of iATS Payments Recurring
  Contributions with result: Success (1 contribution record(s) were
  processed.

  Failed to process recurring contribution id 2: Unexpected Server Error, please see your logs
  Created activity record for contact id 203)

In looking at the Drupal logs, I have two relevant records for last night's Pending (Incomplete Transaction), an error and a notice, both from hostname 127.0.0.1.

The error:

SoapFault: SoapFault Object (
[message:protected] => Error Fetching http headers
[...a long list of arrays detailing the transaction, our iATS information, API calls and drush commands]
[previous:Exception:private] =>
[faultstring] => Error Fetching http headers
[faultcode] => HTTP
)

The notice:

Raw Response:
HEADER:
BODY:
BODYEND:

Attempted Resolution: From initial searches in Stackexchange and Google at large, it might be a server setting, perhaps?  After a couple days of trouble initially, I increased two settings in my /etc/my.cnf file just to test and then restarted httpd and nginx:

max_allowed_packet = 128M (was 16M)
wait_timeout = 300 (was 60)

Since I still had the issue last night, it must be something else.  Any ideas on how to resolve the "Error Fetching http headers"?

Civi 4.6.14 (will be updating to 4.6.20 before go-live); Drupal 7.44; iATS Payments extension 1.5.3; CentOS Linux 7.2.1511; Plesk 12.5.3; PHP 5.6.24 on website; PHP 5.4.16 on command line; nginx 1.11.1; Apache 2.4.6

Sorry - we've not seen this (yet) - best to post an issue on our GitHub queue: https://github.com/iATSPayments/com.iatspayments.civicrm - so that both Alan and myself as well as iATS staff sees this.

Perhaps the automatic ones are not run as -u your webuser but as another user - different env - different drush?

My favourite/most stable/like clockwork (no drift) way to run the recurring contributions job is:

to switch it OFF in the scheduled jobs GUI

and then to:

  apache crontab for drupal/civicrm:

  0 2 * * * /usr/bin/php /usr/local/bin/drush.php --root='/var/www/platform/site/' --uri='https://site.org' -u 1 civicrm-api job.iatsrecurringcontributions auth=0 -y

  and then run the scheduled jobs that are switched ON:

  3 * * * * /usr/bin/php /usr/local/bin/drush.php --root='/var/www/platform/site/' --uri='https://site.org' -u 1 civicrm-api job.execute auth=0 -y


How to get a CiviRule to fill in a custom field upon a webform submission? We have a Drupal 7 website that we are having users submit a webform on. When a webform is submitted it is assigned a unique ID. This ID used to generate a PDF to view the webform results and is viewable on the Drupal side. The problem we are running into is getting this information over to the CiviCRM side automatically. We created a custom data field in CiviCRM for the ID to go in and have it left blank during the submission, and we installed the module CiviRules Webform CiviCRM Submission Trigger so we can have a rule run when the form is submitted. The part we need help with is getting a rule that takes that ID and fills in the blank field with it upon submission or some way to do the equivalent.

You will probably need to develop an action that can take that ID from the data coming into the action and set it. There is a standard action to update a custom field (Set Custom Field) but it will ask for a value and will not be able to pick up the value from the input just like that.
Developing your own action is documented here: https://docs.civicrm.org/civirules/en/latest/create-your-own-action/
An alternative might be to use the Form Processor extension, and pick up the ID from the incoming data like that. Check the documentation here: https://docs.civicrm.org/formprocessor/en/latest/


Unrecognized database version from 4.6.16 to 4.7.7 Joomla 3.5.1, Linux, Php 5.6.20

Is there a "quick fix" I could make to a script to allow it to either recognize the database, or would it be OK to manually change the database version number only back to 4.6.15?

When I try to upgrade from 4.6.16, to 4.7.7 it says that it doesn't recognize database version 4.6.16. It says:

Your database is marked with an unexpected version number: 4.6.16. The automated upgrade to version 4.6.7 can not be run - and the 4.6.7 codebase may not be compatible with your database state. You will need to determine the correct version corresponding to your current database state. You may want to revert to the codebase you were using prior to beginning this upgrade until you resolve this problem.

In addition, the actual error message is NOT formatted correctly. The full message (as it appears on screen) is:

An error has occurred.
 0

 Sorry but we are not able to provide this at the moment.
Your database is marked with an unexpected version number: 4.6.16. The automated upgrade to version 4.6.7 can not be run - and the 4.6.7 codebase may not be compatible with your database state. You will need to determine the correct version corresponding to your current database state. You may want to revert to the codebase you were using prior to beginning this upgrade until you resolve this problem.

Return to home page.

Error found: I downloaded the correct 4.7.7 to my computer, but then uploaded 4.6.7 to the server by mistake and ran that installation. Thanks @davejenx for noticing this.


How can we install civicrm extension which is not available for drupal I want to add civi hr extension to drupal. But is not available in drupal.

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

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

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

This link can help you further.


DB Error - Events Dashboard I'm working on a new install.

The Events/Dashboard menu choice generates a screen with the following error:

Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
DB Error: unknown error
Return to home page.

There's nothing in the DB log.

I tried the Settings/Cleanup Caches and Update Paths/ panel doing both Cleanup Caches and Reset Paths, but to no avail.

I'm stumped.

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

HTH

Pradeep


Can a user be allowed to Create a CiviMail but not Schedule it Concept is some users can only create Drafts, and then effectively submit them to some higher authority (presumably creates an Activity to notify right people) who has to Review and Schedule the mailing.

Anyone done anything like this yet?

If not, then I guess the bare minimum is a new Permission for 'Create Draft Mailing' which removes the 'Submit' option from the work flow.

Second step would be how to ensure the higher authority gets notified there is a Draft they need to review.

Just had this pointed out to me on IRC - which suggests that some thought was giving to creating 3 levels of permissions:

Create mailing
Schedule mailing
Approve mailing

but looking like it missed the cut in the implementation.

Further documentation at 18400


Preferred mail format select does not set current value When editing preferred email format in 4.7.10, the select is not prefilled with it's current db value. Any ideas?

It has been fixed in the updated version https://issues.civicrm.org/jira/browse/CRM-19135.

So it's recommended if you could upgrade CiviCRM to 4.7.11 or apply this patch to your site and check if it works for you https://github.com/civicrm/civicrm-core/pull/8777


Undefined index: maxlength after update to 5.2.0 I am relatively new to CiviCRM. After we updated to 5.2.0 I started getting this message when I enter the Create New Individual screen:

Notice: Undefined index: maxlength in CRM_Core_Form->addField() (line 1478 of /home/makernexuswiki/www/crm/sites/all/modules/civicrm/CRM/Core/Form.php).

Searching Google and StackExchange I could not find any relevant info.

Did the upgrade fail to add a required index? Is this a big issue? Should I just set the system to ignore Notices?

We are on Drupal 7.5.9

Any help is appreciated.
Jim

Jim,

This is a php notice, you can ignore. However this has been fixed in latest version of Civi. To fix this you can either

Apply fix from https://github.com/civicrm/civicrm-core/pull/12090 or wait for next release.
Turn off php notices by navigating to Configurations >> Logging and errors. Set 'Error messages to display' to None.

HTH

Pradeep


CiviMail click through inflation I investigated our web logs because one of our organizations reported what seemed like strangely inflated click through numbers, including a lot of click throughs reported the very minute the message was sent.

The web logs confirmed the statistics that CiviCRM had in the mailing report.

However, I noticed that many of the IP addresses looked like they were coming from the same block. A whois search revealed that they were all IP addresses that belonged to the Anti-virus vendor Barracuda.

I can't be 100% sure, but it looks to me like many of the recipients may be using Barracuda software, which may be automatically reading the messages and then "clicking" through all links in the messages to ensure they don't go to any phishing sites.

If this theory is correct, then we may be saying good bye to click throughs as a useful metric, which is a shame since "opens" are also pretty worthless (although barracuda does not seem to be downloading the open img).

Any suggestions on how to avoid this problem? We could exclude barracuda IP addresses but that seems like a losing battle if this approach becomes widespread.

This is a problem, and your analysis seems to be correct

As this article suggest, another (more robust) option would be to track who clicks on all links, including hidden ones, and automatically remove the clicks from this user.

https://wordtothewise.com/2013/07/barracuda-filters-clicking-all-links/

X+


Is it possible in CiviCRM to change extension of cached php files from .php to something else (e.g. .php_ or .txt)? Is it possible in CiviCRM to change extension of cached php files from .php to something else (e.g. .php_ or .txt)? Our host (WPEngine) does not allow guest users to write to php files on production environment.

We run cron by calling the cron URL from another server using curl, but scheduled reminder emails fail because CiviCRM can't write .php files as guest user (more info: Scheduled Reminder Email is Empty).

I ran into this as well. The issue is caused by the CachedCiviContainer cache -- which will write a .php file.

A workaround for this is to set the following constant in the civicrm.settings.php file:

define('CIVICRM_CONTAINER_CACHE', 'never');

Not ideal, as it disables the container cache altogether. But it avoids these issues.


Individual Name Fields are not available when adding a new contact I recently migrated my CiviCRM 4.4.10lts that was running on Joomla to a fresh 5.12.4 install on Drupal 7.66. The LAMP is an Ubuntu 18.04 stack on Azure.

I had to copy my data into the new database manually because of errors in the Cases component that prevented me from upgrading and my old host upgraded their MySql server to a version not supported by my version.

Now, none of the individual name fields are available when creating new individual contacts. If I add a new contact record using the New Individual block it creates a contact without a name. When viewing an existing contact record the names are there but if I attempt to edit them with either the inline editor or the normal contact edit function the names disappear.

There are no errors being thrown in either Drupal or CiviCRM and I have the same results with any theme I use.

I suspect I accidentally overwrote something in one of the tables while moving data but have no idea where to begin. Any help would be greatly appreciated

The Editing contact options are listed from option groups named 'Contact Edit Options'. Check if the options are present in the 'Contact Edit Options' option group. If not then adding options should fix the problem. Unfortunately the UI doesn't allow you at add a new option. But you can add it through api/explorer screen of CiviCRM.

Note: Option Name should be the field name same as column name in civicrm_contact table eg first_name, last_name, middle_name etc.


Why is the column called "Soft Credit For" when it seems to show "Soft Credit from"? Helen made the contribution with soft credit to Priya so why is the column called Soft credit For rather than Soft Credit From?

Good question. There is probably no explanation except that the developer who implemented it called it this way. Maybe by mistake.

If you feel this is wrong you can file an issue and if you have technical expertise you can fix it.


Show Activity Source Contact in a Drupal View I have created a Drupal view which is used to show any emails sent through CiviCRM to the currently logged in contact. To list the emails, the view shows activities for that contact where the activity type = 'email'. I am able to show the title, subject, details and date and the view works fine. However, everytime I try to add in the Activity Source Contact field, suddenly the view has no results. I am assuming that the Activity Source Contact field is the 'Added By' field in CiviCRM for the activity (which is the 'From' field for the email)? If it is, I can't understand why suddenly the view has no results when I add the field.

The other strange thing is, in the Activity Source contact field settings in the view, there is a numeral formatter, which is strange for a text field. See the attached image.

Can anyone suggest how I can display the Activity "Added by" field in the Drupal view?

Look at using the 'relationships' feature in drupal views (on right under Advanced) which should allow to add the Activity Contact, specify that you want to filter it to 'Source' and then add a Display Name field and use that Relationship


Why can't Smart Groups be assigned the Access Control group type? I'm using CiviCRM 4.5.8 and WordPress. I want people to only access the data for their state. I was going to use ACL to do that. I set up a smart group for Wisconsin, but there's no check box for Access Control. I can only check Mailing List. What's up with that? Thanks in advance!

According to a 2007 forum post by Donald Lobo (a CiviCRM founder): For efficiency purposes the acl role needs to be assigned to a static group.

Perhaps the CiviRules Extension will allow you to add your users to a static group(?)


Why do email drop-downs show "email protected" Whether when selecting a from email address in CiviMail (or Civi regular email), or selecting (the email of) an existing user in Drupal Webform_CiviCRM, the email will sometimes be hidden and the message "email protected" will be displayed instead.
It seems to happen only when I access the site with a https URL. When I access the site using http, I can see the email.
This has been the case on all Civi versions with Drupal 7. Same thing when logged in as user 1

What causes this and how do we get rid of it?

I believe this is something external to civicrm. Services like CloudFlare can cause email addressed to be 'protected'  and the fact you are saying this happens on https but not http seems to be another pointer in that direction.

You might want to consider this article: https://support.cloudflare.com/hc/en-us/articles/200170016-What-is-Email-Address-Obfuscation- or the one suggested by Michael https://blog.cloudflare.com/introducing-scrapeshield-discover-defend-dete/


How do I delete a CiviCRM instance? Trying to find details on how to remove a CiviCRM test data setup I've created.  I'm using Wordpress 5.3.2 multisite and CiviCRM 5.22.1.   I've installed CiviCRM into the plugin directory which appears to work...

.. as I installed a CiviCRM instance in one of the domains.  The installation used my default Wordpress database, and I'd prefer to do it again, but using a new database (and also in a different domain).

I'd like to have two instances, using the same code, but ideally accessing different databases for the CiviCRM data.

Anyway can't see any documentation on how to to remove the CiviCRM database and get to the position where I can reinstall in the two domains. Any suggestions on how to remove the CiviCRM database - and if this is documented anywhere?

Thanks for any assistance

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

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

Mick


Event booking for multiple guests If a client is trying to book an event for multiple guests, is that possible to book (and pay online) without having to book himself?  It is very common for a PA to book for bosses, or a junior staff to book for senior staff.  The PA and the junior staff do not need to book the event for himself.  Is this possible?  Thanks!

Yes, One can register for events on behalf using backend form or front end form.

Backend:

Navigate to Events >> Register Events Participants. Select Contact and Event to register.

Front End:

Visit online page by navigating to Events >> Manage Events. Click on Event links against the event you want to register and then click on Registration(live).  If you are logged in than online form will pre populate with your details, to register other contact click on the link (Not Pradeep, or want to register a different person?) as shown in below image.

Here you will get 2 options

To select Contact from auto select field. (if user have permission to view contacts in system)
Create registration for new contact. In this case if CiviCRM finds duplicate match of this contact (using rule defined in dedupe rule) than it will update the existing contact in CiviCRM.


Auth.net completed transactions showing as Pending (Incomplete Transaction) - sometimes CiviCRM: 4.7.17
Joomla 3.6.5

This does not happen every time, seems random. New Member Online registration - Contribution goes through to Auth.Net and is marked there as successful/completed, but the contribution record in Civi is marked as Pending (Incomplete Transaction) and the Membership stays in the status of pending.
Following is an example of what I find in the civi error logs each time this occurs. Could somebody help me determine what the cause of this could be?

Log 1:

Apr 10 15:28:31  [info] Contribution record updated successfully

Apr 10 15:28:35  [info] Receipt sent

Apr 10 15:28:35  [info] Success: Database updated

Log 2:

Apr 10 15:28:31  [info] Could not find an entry for x_subscription_id

Apr 10 15:28:31  [info] $error data = Array
(

[error_code] => 0

)

Apr 10 15:28:31  [info] $REQUEST = Array
(

[x_response_code] => 1

[x_response_reason_code] => 1

[x_response_reason_text] => This transaction has been approved.

[x_avs_code] => Y

...

)

There were some issues with Authorize.net transactions failing due it not managing to send an email- could that be related? Is email always required on the page? I think there are a.net fixes in both 4.7.18 & 4.7.19 (still in rc) so it might be worth checking if a point upgrade changes anything (4.7.19 is due out first Wed next month)


How to add additional action buttons in a civicrm Add Event form? I have added a button in the EventInfo.tpl

{include file="CRM/common/formButtons.tpl" location="bottom"}

            <button>Approve</button>

           <span class="request-approval crm-button crm-button-type-upload"
            <button>Request for Approval</button>

But when I click on Add Event under Manage Events, I see a popup which does not show my button but when I click on add event and add it to new window it shows the button, how can I make sure it works on both the places
1) Popup

2) New Window(which is showing currently)

First think its not a good practice to over-ride any core files specially templates when you can use jQuery to play around.

You can use buildform() hook to add button(s) to a form and the pop up window will recognise the button based on class or attribute and append it on popup form

HTH

Pradeep


CKEditor WYSIWYG - Can't use link dialogue to create links (OK button doesn't work) When trying to create a link using CKEditor, the OK button will not work, and the dialogue box will not close ('cancel' works).

Is anyone else seeing this?

We are on  CiviCRM 5.3.1 on Apache, Drupal 7 using jquery 1.7 on our admin theme. We have tested this and seen the same behaviour in CiviMail and CiviEvent.

The fault appears in Chrome on Mac & PC, though it is fine on Edge (where the OK & Cancel buttons appear the other way round to the screenshot below)

Try this:

JQuery update settings:
Set alternate jQuery version for admin pages to: 1.5

Make sure CiviCRM theme module is installed

In Appearance -> set CiviCRM Administration theme to Adminimal (or some other Admin theme)

You’ll want admin jquery 1.5 for many admin pages on your drupal site to work well. Here’s a reference: https://www.drupal.org/project/views/issues/1965674


Custom report: how can I add a filter for a dbAlias field? In a custom report -> I've created a field

 'civicrm_contribution' => array(
    'dao' => 'CRM_Contribute_DAO_Contribution',
    'fields' => array(

...

         'amounts_ytd' => array(
           'title' => ts('Amount - YTD 2018'),
           'required' => TRUE,
           'dbAlias' => "SUM(CASE WHEN year(contribution_civireport.receive_date)=2018 THEN contribution_civireport.total_amount ELSE 0 END)",
         ),

This works nicely - it produces the correct total in the amounts_ytd column.

How would I go about filtering on this amount - to e.g. find all contacts who have amounts_ytd > $100?

Under:

    'filters' => array(

What does this need to look like?

  'amounts_ytd' =>
     array('title' => ts('Aggregate amounts_ytd'),
       'operatorType' => CRM_Report_Form::OP_FLOAT,
       'type' => CRM_Utils_Type::T_FLOAT,
       '??'
     ),

Jake sent me this - posting it here for save keeping!

 'total_amount_sum' =>
    array('title' => ts('Aggregate Contribution Amount'),
      'type' => CRM_Report_Form::OP_INT,
      'dbAlias' => 'civicrm_contribution_amounts_ytd',
      'having' => TRUE,
    ),


Adding fields to contribution searches I know that it is possible to create profiles for Contacts that show up as options under "Search Views" in the Advanced Search screen:

I was hoping to add "Campaign" to the search results screen when searching for donations, but when I try to create a custom profile for this and begin to add a Contribution field, it says "Error: Contribution can not be used as a Result Column for profile searches."

Is there another way to adjust which columns show up for Contribution searches?

I would say you can create a group first using Advance search and in the contribution report try to list all the contact based on the group

This will provide you all the contribution column and also contact related columns

I guess this helps !!!


email activity - any solution to being able to preview like print/merge document? When using the single email activity (not civimail) is there a way of previewing the email - with the tokens replaced - like in print/merge document?

I had a quick fiddle with coding a button for it, but the handling of the email activity seems to be quite a bit different to the regular forms.  Doesn't seem to use the post form hook for example.

I have the same issue on both contact and case email activities

There isn't such a feature currently.

This is related, but not exactly the same as what you're asking, but if implemented might help facilitate a preview: https://lab.civicrm.org/dev/core/-/issues/1750


4.6.6 Wordpress still does not allow me to credit to a PCP I posted about this earlier here: "Loading Failed" when soft crediting to a Personal Campaign Page

And Coleman kindly submitted a fix for it: https://github.com/civicrm/civicrm-core/pull/6156

Trouble is, I was never able to get the fix to work on my end and when I check the Demo site, which is now 4.6.6, it also still fails when you try to add a PCP page.

If I edit an existing donation from either a contact's card or by searching for a contribution and use the PCP drop down and try to search for a PCP -the screen below appears. I also tried opening the contribution in a new tab (rather than the overlay edit) and got the same error. I get the same error if I try to enter a check donation from scratch and add a PCP credit.

Did I miss something in the fix or is it not really working!?

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

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


Setting default values for Personal Campaign Pages We have a student organization where all students are being asked to help solicit contributions to a campaign.  Was hoping to create personal campaign pages (PCP) for each student.  Rather than having each student create their own individual title, message, etc. for their PCP, I'd like to default values that they can then override if they choose to do so.

Is there any straightforward way to auto-create the PCPs with default values for a list of current users within a group?  Anyone tackled this one before that can point in the best direction?

Using CiviCRM 4.5.4 on Drupal.

I am not sure about API - But you can create an script against database that would be easier you can insert values into the table called civicrm_pcp just make an entry using different contact Id this will be faster - just create a single PCP first and copy the value for the rest of contact


Drupal Views Filtering on Subtype I have an instance of drupal 7 installed… and it is storing its data in database A
I have then installed CiviCRM… and it is storing its data in database B

I have placed the information shown at sites/all/modules/civicrm/install/index.php in to the settings.php file … so the CiviCRM tables can be seen and found.  Also, the base URL is set correctly in the civicdm.settings.php file.

Now when I go to create a view…

I select “Add a view” and specify a name for the view (the view
is of type page);
then i select CiviCRM Contacts from the Show
drop-down list…
decide on the display format and then click
continue and edit to get to the screen to add the fields as
required.
On the view creation screen I have added the field
CiviCRM Contacts: First Name and that shows correctly with no errors
but when I try adding the CiviCRM Contacts: Contact Sub Type
field to the Filter Criteria section (or the Fields section for that
matter)  I get the following error message:

  Error Message states (some info substituted with generic information):
  SQLSTATE[42S02]: Base table or view not found: 1146 Table
  ‘<user_which_created_drupal_database>.<drupal_pre-fix>_civicrm_value_<‘civicrm
  custom field postfix> doesn't exist’

By the looks of things, the filter criteria section of the view is looking to the Drupal database for the CiviCRM table for the subtype field - which it obviously won’t find as the table is actually in the CiviCRM database (Database B).  A similar situation occurs if I try to add the sub-type field into the 'Fields' sections of the view creation process.

Sounds like this is a configuration issue (E.g Views is looking in the Drupal database and not the CiviCRM database - but yet it does look in the correct database when looking up the Contacts Name) - anyone got any ideas or had this happen to them before, looking for a solution.

I think I might have figured out what's going on here... The tables that are trying to be used in the view have been created after the table details were taken from sites/all/modules/civicrm/install/index.php and pasted into
 the settings.php file (which was done initially when configuring the system).  So when the new tables are created they do not exist in the settings.php file (I'm unsure whether CiviCRM should do this by default or not), but if I go in and update the settings.php file with the new mapping it seems to address the issue and Drupal then looks in the correct database.


Civisualize extension doesn't show up as available when uploaded to extension directory I downloaded the master zip file from this extension to my extension directory of civicrm.

https://github.com/TechToThePeople/civisualize

I unzipped it in the extension directory. flushed cache.
The extension does not show up in the list in
civicrm/admin/extensions?reset=1

I'm using CiviCrm 4.6.5
According to the latest changes in github project, the extension should be compatible.

You may also need to check the uploaded extension's file permissions and user settings.

Also, clear cache.


Membership duration depending on conditions? Is it possible to configure memberships in CiviCRM as follows?
The basic subscription duration is 6 months AND it gives members the possibility to attend 10 lessons/events. After having "used" the included lessons OR after 6 months the subscription expires and has to be renewed.
I could easily configure the membership expiration after 6 months.
As I'm completely new to CiviCRM: Where can I define the/a second condition (expiration after 10 lessons/events)?
Thanks in advance for your help!
Regards

Set up the membership normally with a duration of i.e. 6 month/1 year.
Use the extension Summary Fields to report back the number of events visited per user.
Implement the Rule (on participant status change >>> attended) in CiviRules and change membership/subscription status to "expired".


Where can I find the field string length? I need to import addresses using the API. Some addresses go over the CiviCRM limit. For instance street_address has a limit of 96 characters. I would like to know where are these limits defined in CiviCRM or where are they documented? I don't want to use the trial and error method to find out.

These are defined in MySQL. Adjusting the length of those tables should cover this.

With some data entry, making the changes through the interface can increase the length of the tables in the system.

John


wordpress installation no zip file in download Have downloaded CiviCRM 4.6 for Wordpress from CiviCRM website.  Went to Wordpress "add new Plugins" "Upload" and instructions say to locate (from plugin "add new") zip file but my civiCRM download did not include a zip file?

The version of CiviCRM for Wordpress that can be downloaded here: https://civicrm.org/download/list is a .zip file - if your initial download isn't a zip, check that you've downloaded the right version (e.g. the Drupal version is .tar.gz file).

That .zip file is what Wordpress is looking for - however, it's probably wiser to follow the instructions at http://wiki.civicrm.org/confluence/display/CRMDOC/Installing+CiviCRM+for+WordPress as @petednz-fuzion mentions.

The instructions recommend uploading the CiviCRM .zip to your WordPress plugin folder and then extracting the files - Wordpress' internal plugin installation process can manage this, but there are additional steps that WordPress will miss. (This is why CiviCRM isn't available in the Wordpress plugins listing - the installation isn't completely automatic)


Generalizing create/update validation on form and api Lemme cite an example before explaining the cause.

Updated the amount of an contribution id n via Contribution.create api from $100 to $150 and "Execute"d it from API Explorer. (No validation error)
Open the edit back-office contribution form of same contribution ID n. The amount is rightfully changed to $150, but problem is when without doing anything simply save the form and it throws a validation error "Net amount and/or Fee amount must be equal to the Total amount"

The question arises "why didn't I got any validation error at step 1?". Answer lies on the native validation rules written under formRules() func which are not meant for corresponding API.actions. Likewise there are other
entity attributes which raise the same concern.

So my suggestion/fix would be to introduce a BAO function for such validation(s),

    Flexible enough to accept input params from both APIs and Forms

    Provide API Exception(s) and validation error(s) for APIs and Forms respectively

    Optimize API and Form validations

    And of course would be a BAO function to get called in both APIs and Forms

Thoughts ?

Monish, I think the problem is that if you use the api to change the total amount & don't pass in other amount values the BAO should assume that net_amount has now changed similarly. I thought we had done something in the BAO - but maybe only on new contributions.

I think at the BAO level adding this logic makes sense

if (contributionTotalAmountHasChanged() && empty($params['net_amount')) {
   $fee_amount = !isset($params['fee_amount'] ?
     getFeeAmountFromDB() : $params['fee_amount'];

  $params['net_amount'] = $params['total_amount'] - $fee_amount;
}

Possibly some argy bargy around whether $params['fee_amount'] = '' vs $params['fee_amount'] = 0;

At the form level - if someone changes the total_amount then probably we should either
1) update the other amounts using js or
2) reset them sensibly on submission (e.g like above) & present them with a notice that this has happened.

It's a bit of a pain having to change net_amount & for most users the field is not relevant


How To View Documents Uploaded Through Custom Profile I created a custom profile field which has an upload field to allow users uploaded scanned documents as part of their contact records so that when viewing the user's Civicrm Contact record i can view the uploaded document.
However I find that when viewing the contact record i cannot see the uploaded documents. Only the upload field is visible.

Does anyone know how this can be implemented in CiviCRM or am doing something wrong? I am using CiviCRM 4.6.15 with wordpress.

Thanks in advance for your comments.

we did have some issue with uploading files to custom field since 4.6.5 and above

I did made a quick test against http://wp46.demo.civicrm.org which is running on civicrm version 4.6.18

And the issue got fixed so please try to upgrade to the latest version and then please test the same

thanks


Trying to integrate Views with CiviCRM but cannot see the code I am trying to integrate Views with CiviCRM but cannnot see the code in the CMS Datbase section to add to the settings.php file. I am stuck on step 5. Has anyone come across this issue?

The steps are here - http://wiki.civicrm.org/confluence/display/CRMDOC/Views3+Integration

Solved. You need to go to your civicrm.settings file first and then add the drupal base URL in the section where it says add your drupal URL and then you will see the code.

Follow the steps in the link for Views.
In the civicrm.settings.php file there will a comment around line 58 which asks to enter the Content Management System (CMS) database connection details. Once this is entered the views should show up.


Civicrm stuck when renewing membership I'm running CiviCRM 5.11.0 in Wordpress 5.1.1.
Currently, I'm not able to renew any membership in CiviCRM: Membership section of the selected profile > Renew membership. When I confirm renewal, the system gets stuck in saving screen forever and nothing is registered on the database.

I tested the renewal using a profile page in the frontend, for myself, and it worked. It's only in the backoffice (where I register 99% of membership renewals) where this happens.
Contributions are working fine, it's not an issue of recording payment or the associated contribution.

Do you know what may be causing this issue and how to solve it?

Cheers
João

It reminds me of a similar issue I had at a client last week: we received a 403 error when we tried to edit memberships.

The error was due to an anti sql-injection mechanism that was in place at the hosting provider. It could be turned off via the control panel.

Can you check if something similar is active in your installation? Either in the control panel or via a Wordpress security plugin? Ultimately, ask the hosting provider.


Add new column to table in field 'selector.tpl'? The purpose is to modify the template by adding new columns.As you can see in screenshot CIVICRM propose Nom "name", courriel "email",Telephone "phone", Action . So i want to add column "Job" before column Action.

I've tried to replace this code in field 'selector.tpl'

by this one

You can create a profile with the fields you want to display as a column and set the 'Default Contact Search Profile' in Search Preferences (CiviCRM >> Administer >> Customize Data and Screens >> Search Preferences.


Member since date before 1995 I'm cleaning up membership data that was imported and need to make changes in the "member since" field. Some people have been members since the 80's. When I try to add pre-1995 dates, I get the following error:

Please enter a date between 01/01/1995 and 12/31/2025

How can I increase the date range so that I can add correct historical membership data?
Thanks,
Kate

For CiviCRM 4.6+ go to Administer menu > Customize Data and Screens > Date Preferences.  From there, change the Start Offset of SearchDate.

For CiviCRM versions before 4.6, this is part of the Advanced Date settings linked from Administer > Localization > Date Format.


Changing directory permissions to get Cron to work via drush Here's my core question:  Is it ok to allow full write access to Users, Groups, and Others for the directory sites/default/files/civicrm/templates_c/en_US ?

Background:
I have been running CiviCRM for a while now without getting Cron set up to automatically run (we run it manually, which is terrible).  I'm trying to get this set up finally.

I'd like to run it using Drush, because it does not use a username or password.  This was suggested in the wiki on scheduled jobs.

The following drush command works from the command line, but only if I set the permissions of the above mentioned en_US directory as "777", or "users, groups, and others can read, write, and execute."

  path/to/drush -u 1 -r path/to/drupal -l www.example.org civicrm-api job.execute auth=0 -y

If I run this command with the original permissions setting, "755" (drwxr-xr-x) then I get the error message "CiviCRM does not have permission to write temp files in sites/default/files/civicrm/templates_c/en_US/, ExitingDrush command terminated abnormally due to an unrecoverable error."  The owner of the directory is listed as "daemon".

Would it be a terrible thing to allow this directory to be writable by anyone?

CiviCRM 4.5.4
Drupal 7

To answer non-programmatically for non-coders, the CiviCRM Cron module has been a life saver for us. This will run cron for Civi whenever Drupal's cron runs. Setup is minimal, just needs user, password and sitekey. This allowed me to skirt coding cron.

https://www.drupal.org/project/civicrm_cron


May Notes contain emoji graphics? I'm using Civi 5.18.3 on a demo site. I am trying to add the text of a Twitter bio as a new Note for a Contact, and it is not saving. The bio text contains these characters:

National Volunteer & Distributed Organizing Manager for
@WorkingFamilies . #WFP4theMany @ http://WFP4theMany.org & http://WFP2020.org RT ≠ endorsement. TEXT WFP TO 738674

The User Guide doc page here does not specify if Notes must be only plain text characters.

There is a patch to support the character encoding necessary: https://lab.civicrm.org/dev/core/issues/339.

The issue is whether to support older character sets for folks who can't/won't switch over.  One position is that it's not a big ask for users to upgrade, but difficult for the developers to support both; the other position is that it forces an update that some folks can't make, or that their database is too big to convert without going offline for several hours.

The "support the new encoding only" patch has been written; this will move forward either when a) someone writes a patch that supports both encodings, or b) folks decide it's OK to force folks to switch.


How do I configure a free event ticket option for internal use without it showing up on the website? I want to enter free ticket holders to an event without a free option showing up on the website. How do I create this admin only option?

If you only want to have the free registration be available for back-end registrations you should create a price set. The options for admin-only registration types should be in their own price set field, since only price set fields can be marked "Admin only," not an option within a price set field.

Alternatively, if it's just a matter of the participant not paying and you don't have to report on who's a paid participant and who's a comp, you could just register them in the back end and not record a payment. You could still make this work without a price set by creating another participant type of "Complimentary."


Generating links or a popup to edit a single multivalue custom field record in CiviCRM 4.7 I have a custom report generated for viewing some contact data and I would like to include a link to send the user to an edit form for a single multi-value custom field record. I would then use civicrmDestination to send them back to the report. I have tried various formats copied from links in the CiviCRM interface. None seem to work. The closest format was this but there is an issue with the "&cgcount" parameter. It seems to always force editing the first record. Is there a way to ignore this and just used the multivalued set record id which is 60159 in my example below?

/civicrm/contact/view/cd/edit?reset=1&type=Organization&groupID=11&entityID=92&cgcount=1&multiRecordDisplay=single&mode=edit&fsId=60159

Ideally I would also like to include a link to create a new custom value record for the row's related contact.

Alternately I would be happy to use JavaScript to create a popup form to edit these records. I am not sure what format to use for that either.

You're on the right track. If you go to the contact summary page and click the popup links to add/edit custom data then you can re-use those exact links in your report. Give the <a> a class of crm-popup and Civi's js will do the rest for you. No need to redirect back to the report, you can make it refresh automatically via ajax when the popup form is saved by using the CRM.refreshParent method similar to crm.livepage.js


How to make webform forget a selected event? I'm using Views to display some events, the user clicks on one and that fires up a webform where they can sign up for the chosen event (so passing the event id in the url).  All working well but...if the user then selects a different event in the webform (not unreasonable) then that event becomes the default event - and won't go away.  Even when the user later selects a different event in Views, when they come to the webform the previously chosen event will be selected - not the one they selected and was passed in the url.  This feels like a bug, and should be easy to reproduce, but maybe there's an explanation or way of stopping this? (Upgraded to latest 5.3.1 still same problem). First screenshot is Views & you can see the url correctly generated for event id 19.  Second screen shows event on Aug 4 incorrectly selected which is event id 18 (I selected this at a previous time)

Be very careful when sending people to a webform that has multiple events on them. If they return to that webform (or another webform that pulls in the same Events) at a later time and select another event -> what they are technically doing is canceling their participant registration for the event they un-select and registering themselves for the newly select event.

The setting to not unregister participants from Events will just affect the processing of the form; On load of the webform it does makes sense to me that it shows the Event one is current registered for.


Importing contributions always imports $0 in Amount I am having a really weird problem importing Contributions.

Background: I am exporting data from my Drupal-Civicrm site and importing it into our new Wordpress-civicrm site. I do not want to go thru the database route because I bumped into too many issues and the civicrm became very unstable. Hence I have created wordpress-civicrm instance from scratch and I am importing data from the GUI. So far contacts and memberships have been imported successfully.

Problem: Now that I am importing the contributions, no matter how I setup the import the Amount is imported as $0 (even though I can clearly see in the import wizard that it is a non-zero amount). I even tried to map the Net Amount field and the Fee Amount field correctly. Yet the Total amount is always getting imported as $0. What am I missing here?

Check how you are importing your data. It is often worth doing an export to see how they data is held as this often provides a clue as to how the data needs to be structured to import.

For example you may be importing as 5 when it expects $5 or vice versa.

Also be aware that there is a very helpful extension that extends what was possible with GUI imports. github.com/eileenmcnaughton/nz.co.fuzion.csvimport


is it worth switching from Joomla to Drupal for better CiviCRM integration? Our site is currently using Joomla 2.5.27 and Civi 4.4.11. We need to either upgrade Joomla & CiviCRM to the latest or migrate our site to a drupal platform. Both sound like a lot of work. But we have some  kinks in optimally using Civi that appear to be the result of incompatibility w/ Joomla. I am not a developer but am a knowledgeable user; I have some tech volunteers who are prepared to help me once I make a decision. Any thoughts?

Developers tend to prefer Drupal over Joomla. But each CMS has it's pros & cons. You need to figure out which one is better for you.

For example if you have a Joomla extension that gives you functionality which would require a lot of custom coding in Drupal, it would make sense to stay with Joomla.

The kinks you mention may not be around in that later versions of Joomla & CiviCRM, but there may be others, so you really need to do some testing to make a decision that's right for you.

Demos are available at: https://civicrm.org/demo - but they are reset periodically so you may prefer to create a sandbox on your own server or local machine for testing.


Some tokens not work with CiviRules 2.1 and E-mail API 1.17.2? I'm using WordPress 4.9.8, CiviCRM to 5.4.0, CiviRules 2.1 and E-mail API 1.17.2. I've created a Rule that send email to contact when added to a group. I've used some token here
https://docs.civicrm.org/user/en/latest/common-workflows/tokens-and-mail-merge/#available-tokens

But only token {domain.email} and {domain.name} can show. Other tokes is empty. Is it bug?

This might be caused by this issue: https://github.com/CiviCooP/org.civicoop.emailapi/issues/10. A fix is in progress....


Can't search profile in Wordpress I have created a new profile in CiviCRM that I want to use for searches of services offered by associate members. When I test the profile from CiviCRM it behaves as expected. If I embed the profile in a WordPress page, I get no results. When I submit the form, I just return to my profile search form.

When I open the console on the page, I get the following error:
{}ExtensionContent.jsm
Error: Incorrectcontentsfetched,
pleasereload.

The resolution is a total head slapper. The problem was caused by previewing the page instead of publishing the page and viewing the published content. The directory profile is working.


Editing contributions in closed batches I had a situation come up in which a contribution in a closed and exported batch had to be changed. I ended up deleting that batch and assigning the contributions to a new batch. Is there another way I should have handled this? Is there a way to issue a credit memo (essentially reverse) for an existing contribution?

From a clarity/clean audit trail perspective, I think I would go with adding a negative contribution to reverse/adjust the previously batched contribution, including a note in the adjustment contribution record.  Some of our clients create batches just for adjustments to track them separately.  Especially if it's been exported to another system, I would think changing that exported record might introduce errors or at least confusion into the situation.


Trying REST but get PHP Fatal error: Class 'JObject' not found in I need make a query on civicrm project in joomla from REST. However, when I try:
http://localhost/joomla/administrator/components/com_civicrm/civicrm/extern/rest.php?entity=Contact&action=get&api_key=//user_key//&key=//site_key//
I just get:

PHP Fatal error:  Class 'JObject' not found in /var/www/html/joomla/libraries/joomla/event/dispatcher.php on line 23

I already change manually the api_key in mysql database, but I just can't make the access between api and database.

How I was afraid that problem envolve permission issues, I try with cv command too. Here is the command:
cv api Contact.get debug=1 sequential=1

and exact same answer was showed up.

Can Someone help me to find the way toward resolve this problem?

thanks

The question is old but for anyone searching for that error, see CRM-21203 and PR-11609 released in 5.1


Create Report From Scratch? In the reports section, I see that I can change and adjust default reports. Is there a way for me to build a report entirely from scratch?

Via the UI, you'll need to create reports using one of the templates available (e.g., from /civicrm/report/template/list?reset=1 ).  If you have coding experience, you can create custom reports from scratch, yes.  Here is the report reference from the Civi wiki: https://wiki.civicrm.org/confluence/display/CRMDOC/CiviReport+Reference


Which Extensions are you using with 4.7 which do not yet state they have a 4.7 release Not sure if this is a valid question for SE, but I thought it as good a place as any to try and assess what Extensions people are successfully using with 4.7.x even where the extension does not state that it is compatible with 4.7

My sense - and very happy to be proven wrong - is that a good many may work, they have just not been tested by the developers, or no-one has updated the release information for them

There are two major hurdles preventing my extensions from working:

a) settings storage has changed. Unlike many extensions, mine remove their settings when uninstalled.

b) cj being removed in 4.7 as a valid JS format. My extensions need (in theory) to work on 4.4 and I don't think that allows CRM.$

In short, I'm not convinced that they can be made to work without splitting the codebase along versions somehow.


CiviCRM 5.12.0 - Case API returning an Analyzer object containing XML and JSON. Only want JSON I had a working script set up to create cases in CiviCRM using REST.https://domain.com/administrator/components/com_civicrm/civicrm/extern/rest.php?entity=Case&action=create&json=1&version=3&key=xxxxxxxx&api_key=yyyyyyy(obviously with the correct payload etc). This worked fine. It returned the specified return:id etc in a nice small JSON. Now, the same script is failing because it can't parse the returned JSON. It seems that the API is now returning a Civi\CCase\Analyzer Object which contains the full case data as XML and as JSON. Is this change intentional? Is it documented anywhere? I'm wondering how to extract the JSON from the returned Analyzer object. Thanks.

Not a direct answer, but following on from the comments here are some more things you can try.

If you haven't already, check the civicrm log. Maybe there is something helpful there. For example maybe there is a recoverable error happening but it dumps some output to stdout instead of the log, which during a REST call will be part of the response output.
It's possible you have some code or an extension that implements the civicrm_caseChange hook and then does some debug output. When looking or grepping be sure to look in any custom php and extension folders defined at admin -> system settings -> directories.
Use diff -r or kdiff or something to compare your civicrm tree to a fresh unzipped 5.12 download to see if there's any differences.
It's definitely print_r output, but it might be coming indirectly from something that calls 'CRM_Core_Error::debug(' or 'CRM_Core_Error::debug_var(', so can try grepping for that. Note I've included the opening bracket in the search string since I'm thinking that will give the least false matches.
Try disabling some extensions one by one.
Run a php step-debugger to see exactly what step it gets output and where it's coming from. This will be time consuming, but you will almost certainly find it. If you can reproduce the problem on a local development copy of the site it will be slightly easier to set this up using that copy.


Members Can't Log-In to renew membership Some of my members are having trouble renewing their membership. When they go to our renewal page, they enter their email and receive a message that says "The username or email you provided do not exist. Please try again." I can see that the email they are entering is the one we have on file in their contact file. What could the problem here be? Is there a setting we need to change in their contact files? This only happens with some members, some renew no problem.

Members enter their email and it should redirect them to a form to pay their fees (auto-filling information from the previous year). For our members with the issue logging in, it doesn't seem to recognize their email at all.

Are you using Drupal? By default Drupal does not allow login by email. But there is a module for that.


custom field for subscribe page? is it possible to add custom field in :

http:/drupalsite.com/civicrm/mailing/subscribe?reset=1

I tried looking for custom field additional in the settings but not available?
is there a hook needed to process?

as its only collecting one email info for now?

thank you

You can replicate the functionality by creating a Profile which includes the 'public' groups you want users to sign up for.

A second approach is to use the webform_civicrm module where you can similarly include specific Groups and any other custom fields you want.

I don't think adding a field to civicrm/mailing/subscribe?reset=1 is available through the UI.


Profile sync using CiviCRM WordPress Profile Sync Following use-case:

CiviCRM has many contacts, including contacts of individuals with the same primary email address (e.g. one corporate email, two
    individuals (contacts) working there) -> forget that there may be
    methods of better organizing this.
Both contacts do not have a WP user account.
CiviCRM WordPress Profile Sync is working
One of the individuals registers with WP using THAT email
Which contact does the new WP user get associated with?
Testing it as best as I could the answer is: always with the lowest CiviCRM ID

I've tried to find if there's a reference to it in the plugin's PHP , or elsewhere.

Wondering if this is by default?

Cheers

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


Case status change to a closed status does not update the end date and relationships of the case When I change the case status with the API to a case stated which is Closed. Then the end date of the case and the end date of the case roles is not set.

When I change the case status from the user interface the end date is set and the end of the case roles is set.

Is this behaviour correctly or should I file an issue and solve the bug in the API?

I'd suggest this is a question of whether there should be low-level and high-level variations of the API. Typically a low-level api is not aware of the semantics (e.g. what "closed" means in real life - it just sets the right field to the value given), whereas the higher level api might. So should there be a separate higher-level function that knows it should call three low-level api functions when "closed", and let the lower-level functions only do one thing each.


Add people who have used contribution page to a group (or tag them) I want to add everyone who made a contribution from a particular contribution page to a group.

Is there a way to do that?

To my knowledge - If you have set up an unique financial type for the contribution page it would be easy or if you have an unqiue label in the contribution source that might help too

Select all the contact using advance search - filter all the contact based on financial type id or using contribution source or date based on the contribution - in the contribution section

once you got the list - add to a specific group manually - done

But you need to do this each time manually - may be wait for someone to give you more precise answer

thanks !!!


State list for Fiji incomplete Fiji is separated into 5 divisions, however civicrm only includes 4 in the dropdown "State" list.  Here are what the "State" options should be..

Northern
Western
Central (MISSING)
Eastern
Rotuma

I am assuming that it would be ok to do
MySQL> insert into civicrm_state_province(name, abbreviation, country_id) values('Central', 'C', 1074);

Is it OK to do this, and if I do this, what will happen if and when Civicrm updates/upgrades ?

Thanks for your help...

In theory you could update this by yourself via SQL.  There are two arguments against this thought:

The ID won't match anyone else's Civi, which could lead to problems with third-party extensions.
This is a change that the rest of the community can benefit from.

I would file a ticket at issues.civicrm.org.  If you have the chops to create a Github pull request, great!  If not, no worries.  Please be sure to include a reference to sources showing the missing "State", such as https://en.wikipedia.org/wiki/Local_government_in_Fiji.


DB Error: unknown error when accessing any report menu after upgrade to 5.10.0 I have just updated CiviCRM under Joomla! from 4.7.6 to 5.10.0. The upgrade went well, with no issues. I have following the instructions on the page "Upgrading CiviCRM for Joomla". I can use CiviCRM except whenever i access any report menu i get :

  Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.

  DB Error: unknown error

Items on here say to look in the ConfigAndLog file which i think for Joomla should be at
administrator/components/com_civicrm/civicrm but i do not see it there.

Anyone have any suggestions on how this can be resolved?

thanks
Dave

On the Finish page of the CiviCRM 5.10.1 and 5.10.4 component installation, there is a little link called "Utility for Updating the Database structure" or something similar. Up til running that little link, we received the "DB Error: Field missing" error when running some reports.


Can CiviContribute and CiviGrant work together? I'm part of a non-profit that takes in donations from corporations, and runs an internship program twice a year. We usually have around 15-20 different organizations offering internships. Our donors can specify whether they want their funds to go a specific organization participating in this internship round, earmark it for a project in future rounds, or put it in the general fund. Often, part of the donation goes towards into a travel fund which is allocated from later.

It sounds like we want to use CiviGrant to track what part of our budget is allocated to specific project internships, and perhaps use it to track our travel expense requests. We also need to track the invoicing status for our donors, which sounds like we need CiviContribute.

Can the two modules work together? For example, could I record a promised donation from company X that is earmarked for project Y and Z?

We also need to get a sense for how much money we have left in the general fund for improvement projects once we fulfill our grants and receive all our outstanding invoices. Is there an easy way to create a report or something similar combining data from CiviGrant and CiviContribute?

You may be able to get what you want by using a Campaign for each 'donation' and then you can mark other entities with that.

Also worth noting that if CiviGrant doesn't quite match your use case, other users have switched to just using Activities, or CiviCase to create their own custom 'grant' workflow.


Civi is slowing down my website Our website is hosted on Drupal 7 but is tied to our database in civi 5.14. We are experiencing a surge in new registrations which require people to fill out a full page of information that then gets tied into our database. This is causing massive delays on our site. How can we optimize civi to improve the speed of our site or reduce the strain?

You're on an insecure version of CiviCRM, you'll want to update it.
Page caching is not going to help, because form interaction is not (page) cached.
I'll assume you've got the usual production caching on, but if you don't, then start there.
If your site is otherwise reasonably responsive, your server is probably running out of resources, either cpu or RAM. You may be on a customized service that has implicit limits the number of concurrent connections (e.g. limiting the number of apache processes/children), or (more likely) you've hit a memory limit and your application is swapping memory to disk.
If you have no way of changing the server or operating system parameters, there's probably not much you can do.
In general, the best way to increase your form interactivity behaviour is going to be using some kind of RAM-based caching (Redis or Memcache), but that's a server thing, not something you can setup purely within Drupal or CiviCRM.


How to update preferred language depending on a custom field in imported contacts? I have imported hundreds of contacts having a custom field called "Langue" in set "ocsr" and having two possible values, 'F' and 'N'. I want to transfer this information into the field preferred language, with values 'fr_FR' and 'nl_NL'.

I suppose it is possible to do it in one Mysql operation, but I don't find where the custom field value is stored:

update civicrm_contact set preferred_language = 'fr_FR' where ... ocsr::Langue ... = 'F'

Any hint would be appreciated.

It will be in a table called something like civicrm_value_ocsr_12 and the fieldname will look something like langue_57. You want to join on the entity_id column, e.g.

update civicrm_contact c left join civicrm_value_ocsr_12 v ON v.entity_id = c.id set c.preferred_language = 'fr_FR' where v.langue_57='F';

(I haven't tested that, just writing out the theory - I always get mixed up trying to get the right syntax for joins in an update statement.)


Configure what gets added to recent items stack / Where to implement For my organization it would be nice to define, what types of entities the "recent items" stack holds.

For example the list in the corresponding "recently viewed" widget gets flooded with the same activity entry when composing pdf letters for a group of contacts.

So it would be beneficial if there would be a configuration option to decide which entities/actions to include in the recent items stack.

This is related to recently viewed items stack: Add a configuration option for MAX_ITEMS in Recent.php and should be treated together.

I'll investigate how to accomplish this, but I appreciate any hint about the more advanced civi programmers would integrate this. Should I add a new configuration form? Should I extend CRM_Admin_Form_Setting_Miscellaneous?

Thanks in advance // nielo

No need to extend the class - there's a hook for this, hook_civicrm_recent.


Is there any way to search for contacts with special characters using other characters in the CiviCRM search? E.g. ss = ß, ae = ä, ue = ü, oe = ö
Our language is German but English-speaking colleagues should be able to search for German contacts without having to copy a character from the character table. In addition, as native speakers, we sometimes don't know whether a surname is spelled with ß or ss. We then always have to look for both variants.
Is there a solution for this?

You can use MySQL wildcards in most search fields.  Using a percentage sign will find either character - e.g. G%nther will find Gunther, Günther, and Guenther.  Note that this slows down searches, especially if it's at the very front of the search.


Mailing behavioural data throgh API How do I get mailing behavioural data through the CiviCRM data through the API? Like number of bounce per mailing job or number of opens.

That data is stored in tables like "civicrm_mailing_event_opened" and "civicrm_mailing_event_bounce" joined with the civicrm_mailing_event table. I see that subscribe and unsubscribe have been implemented for example, but not the examples you're looking at (bounce or open).

So you could use the existing implementations to figure out how to write some new api functions for the ones that are missing.

Alternatively you might get what you want using CiviReports, and be able to consume that data from another machine.


Webform-Civicrm issue on iPhone and Safari Browser I created a simple webform with contribution form integration.

The form will not submit on Safari Browsers and on iPhones regardless whether they are using Chrome or Safari.

Instead of submited the form is reloaded. This only happens when payments are being submitted.

I've addressed all js errors and error still persists.

Using civicrm 5.10.4, webform 4.18 & webform_civicrm 4.26

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


Creating a Contact Form in CiviCRM (I use CiviCRM with Wordpress, so I can't use the Drupal/CiviCRM contact form integration.)

I am trying to create contact forms for my website. I feel like using Profiles is the best way to do this, but I can't figure out how to have a "message" field where the user can write their message to submit. I can get the name, email fields into the profile fine, but there seems to be no way to give them a space to write an enquiry. "Notes" is the closest thing, but their old notes would be overwritten so it would not be ideal.

Is there some way to include an enquiry form with a Profile?

I'm going to give a bit more insights, you are on the right path.

The final step is to add, as you said, the default Contact notes Civi has for each contact, the notes field is a Multiple record set field, which as it's own name says allows to create multiple data entries for the same set of fields, ie. you can have 10 notes entries, so every time a user submits the form it will create a new note instead of updating a existing one. Please note that the Multiple record field is only available for the Contacts entity, also make sure that the profile is set to update in the settings accordion.

If you don't want to use the existing Notes that Civi provides then you could create a new set of custom fields, navigating to Administer - Customize data and screens - Custom fields - Add set of custom fields give it the desired name (for example Enquiry),  Used for -> select  Contacts once done a checkbox will appear saying something like Does this custom set allow multiple records make sure you check it. You could display it as a Tab and add a custom field like Subject (Alphanumeric - Text) and a second field Message/Enquiry (Note - Text/Rich text). Once finished you can add the created custom fields to your profile. If I didn't explained myself you can always have a look at CiviCRM documentation or leave a comment here.

PS: if you go the custom field path, you will also have to give the Access all custom data permission to anonymous users if applies, User and Permission - Permission (Access control) - Wordpress Access Control


Overcome API KEY request at Relationship edit / delete for users of certain Drupal Role Is it possible to skip api key check at Relationships delete? We'd like to create one-click link for altering Contact, where users of certain Drupal Role should be able to click "Resign" link and all magic happens behind the scenes. Since there are a lot (really) users of acting role, playing with individual user api key(s), described here http://wiki.civicrm.org/confluence/display/CRMDOC/REST+interface#RESTinterface-CreatingAPIkeysforusers ,  doesn't sound like a good idea. So, are there something like "skip_key_check" for such a cases? Here's a piece of code currently being used:

CRM.api3('Contact', 'create', {
  "contact_type": "Individual",
  "id": key,
  "is_deceased": 1,
  "deceased_date":yestrDate,
      "custom_197": 0,
    // Relationships part - this is here  api key is being asked
    'api.Relationship.create': {
       "id": value.rel_ID ,
       "contact_id_a" : value.cont_A,
       "contact_id_b" : value.cont_B,
       "relationship_type_id" : value.relationship_type_ID,
       "end_date": yestrDate,
        "is_active": 0
        // Would be nice to have "skip_permissions_check": 1, here
     },

you seem to me mixing two related but different concepts:

the REST API, that's an interface to connect to Civi, mostly from external servers (eg another application). In principle, the api_keys and server key shouldn't be visible to the end user but stored in a configuration setting somewhere.
the ajax API, that's how a user interact with civicrm to avoid to reload the page completely. This one doesn't need the api_key, as it relies on the user authentication to know what is allowed

In both case, it's not possible to bypass the permissions from an external call directly, it would defy the purpose of having a permission system in the first place ;)

What I would suggest you to do is to write a simple civicrm extension that offers a "member.resign" API and a new "quiter" permission (name to be improved ;) and configure the api so it's only the quiters that can resign.

your api can then call the apis to remove the relationship or whatever else you want to do, and can have the skip_permissions parameter

Then you simply have to grant that permissions to the roles you want in drupal and call your new api CRM.api3('member','resign', {...}) and voila

As an aside, I'm not a lawyer and I don't want to speculate what you do with your contacts that resign, but marking them as deceased is likely to be considered illegal in most jurisdictions ;)


Migration from Lexware Vereinsverwaltung to CiviCRM Has anybody moved from the Windows-based Lexware Vereinsverwaltung application to CiviCRM?

Might there be features, which CiviCRM is missing?
How can I best migrate the data from that application into CiviCRM?

As "Lexware Vereinsverwaltung" is probably an application with limited reach only used in Germany, I don't expect somebody has experience migrating from it to CiviCRM (surprise me!). But I will use this question to record my learnings from looking into it myself.

I decided to open a separate question to ask about general considerations for moving to CiviCRM.

You could also check with Systopia, who are CiviCRM partners based in Germany: https://systopia.de/


Pie Chart in contribution report showing the total in last bar The pie chart on contribution report summary shows the amount of contributions of each months but adds the grand total of all contributions on the last month. Strange. Is there a mean to avoid this ?
Thank you

This is fixed in 5.28.0 which was just released a couple hours ago. You're in luck!
https://lab.civicrm.org/dev/report/-/issues/40


How do I safely export my database and import it on a new server? I will move a CiviCRM installation to another server and realized some strange database issues: it was not possible to save contacts with phone number anymore. The problem are the triggers in the database: both civicrm_phone_before_update and civicrm_phone_before_insert call a function civicrm_strip_non_numeric(). On export of the whole database these triggers and functions are exported with "definers" - database users which do not exist anymore in the new database.

So it seems that you cannot easily dump your CiviCRM database and import your dump to a fresh database. How should I process that?

And why are there these triggers in the database? Why is this not handled on the level of the app?

You can export the civicrm database without triggers and functions and After importing and making sure you have CiviCRM working, recreate the triggers by running 'civicrm/menu/rebuild?reset=1&triggerRebuild=1' in browser


Can the External ID have multiple values I would like to add multiple values in External ID.  Is this possible or would I have to create a new custom field?

Example
2 Duplicate contacts have different external IDs.  I want to merge them but keep both external ids.

Thanks

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

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

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