In which table is Activity assignee contact information stored in mysql?

Depends on your version. From CiviCRM 4.4 the activity assignee can be found in the table civicrm_activity_contact, where record_type_id = 1 is 1 for source contact, 2 for assignee contact and 3 for target contact.


Exception: Serialization of 'Closure' is not allowed in serialize() using CiviCRM with Omnipay & Mollie

The answer appears to be that something is getting put in the session by the omnipay code that the CiviCRM caching code doesn't like. Here's the issue that describes the full details:

https://github.com/eileenmcnaughton/nz.co.fuzion.omnipaymultiprocessor/issues/17

And here's a patch Eileen includes that seems to have solved the issue:

https://github.com/eileenmcnaughton/nz.co.fuzion.omnipaymultiprocessor/commit/933806960e1a4c5968e9e6145feffb79eb77b415

FWIW - most of the thread is involved in getting good debug info.


Some contacts are shown as LAST, FIRST; some as FIRST, LAST

Looks like your greetings/display name format has changed at some point in time.

You can run the "Update Greetings" job to force a refresh, I would create a copy of the job and set the relevant force flags so that its not constantly refreshing.

You can get to the Schduled Jobs page from the Admin -> System settings menu.


Thank you, @Lesley Carter - BackOffice - I had cleared the cache but I had not deleted the files in templates_c. Clearing out templates_c solved all the problems.


How can I easily import data from external sources like Stripe while dealing with subtle differences in field values?

You are aware that stripe can interface directly with civi? it would save you the trouble to have to import.

As for your question: not to my knowledge, but for your team, wouldn't it simple enough to do a search/replace in excel?


Contribution Report - Grouped by Custom Field

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


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


Joomla PayPal standard IPN configuration - Pending (Incomplete Transaction)

Take a look at this thread:

Paypal payments - Pending (Incomplete Transaction)

Every time we upgrade CiviCRM I have to overwrite ipn.php with a version from 4.4 to get Paypal payments working again.


Should "CiviCRM: view my contact" permission result in user being able to edit themselves in CiviCRM

This issue was a bug that has been fixed. For reference purposes you can see the issue here


How remove fields from default price set

Even when you're not using a price set, modern versions of CiviCRM store the contribution amounts on a Contribution page as a Price Set internally.

CiviCRM doesn't let Price Fields be deleted when the Set has already been used to store data as potentially data loss could occur.

Therefore I think the best option is to disable them, or switch to using a real Price Set.

Also see Unable to delete Price Field from Price Set used for Contributions


How can I create a smart group with no matching contacts?

The easiest way would be to create a test contact with city Cottonwood, search on it. Create a smart search out of it and then delete the test contact.


How to create a custom field for a file upload, and make it private

CiviCRM files are never directly web-accessible. If you are also using Webform integration to submit the file, then a copy of the file is also stored in Drupal. You could either make your Drupal files private (this is a Drupal setting) or you could implement a hook to delete the files from Drupal after they are uploaded.


Can you use VBO to update activities on cases?

Initially, when I built my view I was missing some relationships - thus the SQL error mentioned above. But even after adding the correct view relationships, the issue still persisted.
I got huge help from @jackrabbithanna on mattermost. He provided code for a civicrm_customs.module file that will give an "Update Activity Status" VBO action. https://gist.github.com/jackrabbithanna/34016f1e3dac7c1b44a893cc93eed6db
In notes from his chats:

this provides a separate action, not using "Modify Entity Values" action . . . that sidesteps the entity form irregularities
could do lots of complex things or whatever with API .. but this shows how to make own VBO action to people


DB Error: constraint violation on anonymous user event registration after 5.8.2 -> 5.9.0 update

I could solve the problem... I had disabled the Mail module of CiviCRM as I do yet not use it. After reenabling it, the error was gone. Looks like that even disabled modules leave remnants in the database causing possible trouble.


Database Error Code: Access denied for user 'civi'@'localhost' (using password: YES), 1045

MySQL 5.7 has "pluggable authentication", which means that you're not always logging in by password from your terminal.  You'll want to ensure that the mysql.user table shows a value of mysql_native_password for all users in the plugin column.

If you're logging in to the terminal as the root user on Ubuntu 16.04, then by default you're not using mysql_native_password, you're using auth_socket.  This could lead to misleading results where you can log in from the command line with what SEEMS like a good password!  If this is your problem, you may need to install the mysql_native_password plugin before you can set the password.


By downloading the database as one file, and searching with notepad++
I found the comment in table: civicrm_note


How to raise a form error in \CRM_Core_Form::postProcess()

You are correct that postProcess runs too late. Consider the conventional request lifecycle for HTML_QuickForm/CRM_Core_Form:

At the end of the Validate phase, it makes a major decision about whether to rerender the form with errors. However, the postProcess function is part of the Process phase which should only run on valid forms.

The conventional way to set a validation error in HTML_QuickForm is to register a validation function. For example, in CRM_Group_Form_Edit::buildQuickForm(), note how it calls addFormRule(...) (and how the static function formRule() conditionally returns an array of errors). This runs at the correct time.

For mitigations, you might consider:

Add some checks in the validation phase to predict whether the error condition will arise. (Ex: If the issue is a missing dependency or inadequate RAM, then validate the dependency or RAM beforehand.)
Report the error via CRM_Core_Error::fatal(), throw new Exception(), or CRM_Core_Error::statusBounce().
Don't rely on HTML_QuickForm as the main form processor. Implement client-side logic with Javascript and AJAX callbacks.
(Evil but possibly working) Do the heavy lifting during the validate phase. (This will, e.g., make it hard for third-parties to hook into the form... but it may work...)
(Evil but possibly working) Dig into the mechanics of the CRM_Core_Form lifecycle and figure out a way to short-circuit/cross-wire the phases for your controller.


Network Error when wanting to modify a ACL Role

Sorry for the question : this problem was due to errors in my .htaccess file.
Once fxed, everything works OK.

Question closed.


field like "Current Employer" that creates new organization and relationship

If you want a custom "Contact Reference" field to always create a relationship whenever it is saved, you would need to add some custom code implementing hook_civicrm_post.

However, before you go down that road I suggest you clarify why you want to create both a custom field and a relationship to store the same data. Is it just because that's what the "Current Employer" field does? Not a great reason in my opinion. It's generally a bad practice to store the same data in two places, so the overly-complex "Current Employer" field is not setting a great example of tidy database practices.

I suggest you decide to use a custom "Contact Reference" or a custom relationship type, and not both. Trying to store the same data in 2 places is rarely worth the trouble it causes.


CiviCRM Log shows error invoking Payment Form

It looks like it's getting an error when loading the payment-processor specific part of a contribution form, via AJAX. It should be getting the payment processor id as part of the ajax call, but it's not. That suggests it might be on an old contribution page that had a payment processor configured as an option that is no longer available.

If you can look at your web server access logs and find the corresponding contribution page you might identify the problem. It's even possible that you wouldn't actually see an error on your form, it would only show up in your console.


What might cause contribution amounts to multiply by 100 instead of recording values with a decimal place

I managed to solve this.

I looked at what adding a contribution touches in the database. I ruled out differences in the settings table, but then when I looked at civicrm_currency I found that in this database, some characters were not present, even though the encoding would support them. so for instance the civicrm_currency record (6,'INR','₨','356','Indian Rupee') in another database was (6,'INR','','356','Indian Rupee') in this one.

It's not quite clicking with me why the U.S. dollar amounts were being translated -- that record was not different at all. But swapping out the currency table with one from a different site resolved my issue.


Is there a way to print mailing labels from a report

A couple options:

From the report you can export to CSV and use that as a data source for a merge outside of Civi.
If you create a smart group with the same criteria as the report you can quickly search for those who meet the criteria and print mailing labels from the search results. You can also use this smart group as a recipient list in CiviMail if you want to go the email route.

Hope this helps.


{$contribution_aggregate} not outputting in message template

Look in your civicrm.settings.php (in wp-content/uploads/civicrm). There's a line that says:

define( 'CIVICRM_MAIL_SMARTY', 0 );

Change it to

define( 'CIVICRM_MAIL_SMARTY', 1 );

See https://docs.civicrm.org/user/en/latest/common-workflows/tokens-and-mail-merge/#smarty


Not as a built-in CiviCRM feature.

Perhaps you don't want to use profiles for this, but could instead use a Wordpress specific form builder? You need some integration with Wordpress because using a state related to whether or not they've filled in a form would be handled within the CMS (which handles user authentications, sessions, etc.).

I believe Wordpress provides a couple of form builder options that integrate with CiviCRM.
https://docs.civicrm.org/sysadmin/en/latest/integration/wordpress/forms/

Alternatively, you could replace the permissioning with workflow (in a limited way) and use the profile but only link to it at specific times, e.g. via the membership thank you message.


Log / report for emails sent using Events > Find Participants?

This new Transaction Mail extension that Fuzion published won't help your specific problem but would help in the future in as much as it would report back on Bounces for those.


In addition to CiviMobile and Cividroid, the full CiviCRM app works reasonably well on a tablet, particularly for public-facing pages - and work is underway to make it fully responsive.  You can give it a try from a tablet at http://demo.civicrm.org and see if it meets your current needs.


CiviMail stuck on "Starting execution of Send Scheduled Mailings"

so you should have the report accessible for this mailing, what do you see? you have the number of emails delivered, that should increase, more or less slowly depending on how you configured your cron


You must have permission to restore deleted contacts.  If you don't, please ask someone who does.

Go to Search menu >> Advanced Search.
Check the Search in Trash (deleted contacts) box.  It's near the top on the right.
Enter the name for the person in the name field if you know it, otherwise just press Search.
You should see a list of deleted contacts.  Check the box next to the deleted contact you want to restore.
From the Actions drop-down that appears above the list of names, select Restore contacts from trash.
Click Restore contact(s).


You can create your own payment method to differentiate type of payments. If you have a fixed set of options than you can go for custom field against contribution and want to keep payment method consistent.

HTH

Pradeep


Drupal Views needs settings file update for 5.24

The answer is to update the Drupal settings file with the tables listed in menu Administer/System Settings/CMS Database Integration.  There have been new & removed tables. I then cleared the Views cache, and all was well.


I have resolved the issue. The path to the wordpress directory was wrong, don't know why. I have changed hosting during the week.

I had to add this line in civicrm.settings.php:

define('CIVICRM_CMSDIR','/var/www/vhosts/website.org/httpdocs');

This issue helped me: Problem with open_basedir restriction in effect


CiviCRM Entity and editing or viewing activites

With CiviCRM Entity, there is a Drupal form for editing activities
/civicrm-activity/[activity-id]/edit
Unfortunately the form does not limit to only those custom fields that are appropriate for the activity type.
In the past, we had done hook_form_alter() implementation in custom module to hide custom fields depending on activity type.
This feature to only show custom fields appropriate for activity type is on our radar for future improvements.


child groups do not display in manage groups list

My experience on 4.4 and 4.6 is that when I first go to Manage Groups the child groups are hidden under the parent group.  I need to click on the arrow to the left of the parent group name to see the child groups.

Is it different on 4.7.6?


I assume you're talking about a profile where you've copied the HTML Snippet and pasted it onto another site.  If so, you should be aware that the necessary code does change periodically between major versions.

Thankfully, the answer is pretty straightforward: just generate the HTML Snippet all over again.  Go to Administer > Customize Data and Screens > Profiles and select More > HTML Form Snippet next to your profile.  Copy the HTML and paste it into your other page.


What will be the way to give user public access to check their contribution?

The Contact Dashboard is a good way to show people their information.

Usually people need to login, you may be able to use a token to allow people to see it without logging in (not sure) but if payments are involved I would recommend people should have to login.


CiviCRM 4.6.8 compatible with Wordpress 4.3?

This doesn't look like a Wordpress compatibility error.  It is, as you guessed, related to deduplication.

It sounds like you may not have a rule designated as your "Supervised" dedupe rule - or there's a problem with the rule you have designated as your "Supervised" rule.  Check to make sure you have a rule, and if you do, try changing it to the default Supervised dedupe rule.  That should clear your problem.  Then you can troubleshoot the dedupe rule itself.


Submit Credit Card payment missing after update

I was having this issue also in Drupal, after upgrading from 4.7.15 to 4.7.27 and what I found was that it was a caching issue. I needed to delete everything inside the sites/default/files/civicrm/templates_c directory.


Is there any JS error on browser console? Can you go to editor link directly? (civicrm/admin/ckeditor?reset=1)


Blocking specific email users from registering for events

Did you check your log files to see if the fraudulent Event registrations originate from the same IP (or similar)?

If so then block that IP (or entire subnet) so that it can no longer access your server.

For those using iATS Payments there is another handy anti-fraud measure: you can block credit cards originating from certain BIN countries to go through;


How can I split a group into subgroups of 5,000 contacts each?

The Split Group extension:

  This function takes a group of contacts, and splits it into several
  new smaller groups, each with some maximum number of contacts. The
  original group is left untouched.


welcome to the community!

First up, I would not recommend learning to code by editing CiviCRM Reports.

The thing to exhaust before reaching for your Dial-a-Coder is the CiviCRM Profile option for an Advanced Search. You can get the information that you need from Civi 99% of the time using cleverly created Profiles, and then using them as a "Search View" on an Advanced Search.

If (and Only If!) you've exhausted that, then it may be best to ask a CiviCRM Partner organisation to help you. They can be found here: https://civicrm.org/partners-contributors.

Good luck!

JohnFF


Is it possible to view smart group membership in Views?

You can join to any CiviCRM table with the Views CiviCRM Expose Tables module, so you can join to civicrm_group_contact_cache.
I'm not savvy enough about smart groups to know when this is reliable - this table gets destroyed and regenerated on a regular basis, and may come up empty sometimes.  However, since this is for internal use, you could have some way to guarantee that the cache is full (e.g. by regenerating it as part of the user's workflow).
Another option to consider is Search Kit, if you can upgrade to newer versions of CiviCRM.  It's very Views-like, and can give you a configurable set of columns.


URL issue with AWS load balancer and SSL certificate

You should look at log the load balancer. the 503 might be generated there (ie. the LB can't reach the backend) or it might be that the LB can reach the real servers hosting civi, but they can't process the request

Assuming you trust amazon (a big assumption), you might want to say that the https LB can talk to an unsecure civi server (via http).

Otherwise if you want to be more secure and don't trust amazon, you might need to configure your civicrm server so they handle https too.


Enable multiple event registration for same purchaser/participant

In 'manage event' you may be able to check "register multiple participants" and "same email address" if you have a pretty simple event setup. It's a bit clunky but if the same name is used with the default dedupe rule, civiCRM should create another participant for the same contact record. Note that i've only tested this with free events.

The registrant will be forced to go through a page that says "you're already registered, click register to sign up again", by default.

If you need someone to "edit" the same participant record by adding quantity for a paid event, I don't believe that is possible. Doing paid edits to the same participant record is something that even administrators cannot do elegantly at this point (4.6.4 for us) with basically any level of complexity involved, such as changing price sets and/or discount codes.


Neither Advanced Search nor Search Builder offer option to save as Smart Group

In the documentation here https://docs.civicrm.org/user/en/latest/organising-your-data/smart-groups/#creating-smart-groups at step 6 it says it's a choice in the actions dropdown. If you don't see that option, check that you have CiviCRM:edit groups permission.


How long does the cache in the template_c folder last

It's actually compiling Smarty templates, not PHP pages. There is no timeout on how long they are valid, as the underlying templates don't change.


Is it possible to restrict view to certain case activities?

Yes - you can install the Activity Type ACL extension which will give you permissions on a per-activity type basis.


There is still work to be done to get this firing fully - and you many need to reach out to some of the Partners to help get things working sufficiently for your scenario. There are a number that have done a bunch of work in this area.

There are some other Drupal tools that aren't fully firing with civicrm, ones that we use in pretty much every development as they are so helpful in bending the laws of the civi universe - eg Webform_civicrm and Views integration.

There has been a recent push on the webform side of things, and the plan for Views is to step fully in to tieing it in with Civicrm_entity.

You may find you want to join both https://chat.civicrm.org/civicrm/channels/civicrm-entity and https://chat.civicrm.org/civicrm/channels/drupal which is where most of the active discussions are taking place.


You can ask to help out in the "infrastructure" channel on https://chat.civicrm.org!

The demo sites are automatically regenerated nightly via a script based on civicrm-buildkit - so it's not really sufficient to change the setting.  Folks in that channel can help get others up to speed though.


Why are my CiviCRM queries rewritten to short links that do not work?

You'll need to upgrade CiviCRM. WP 5.5 made changes to how URL paths are handled which required changes in CiviCRM. I believe those changes were introduced in 5.26. So you will need to upgrade to at least that version to be compatible with WordPress 5.5+.
There was a blog post a while back with more details:
https://civicrm.org/blog/kcristiano/civicrm-526-and-wordpress-important-notice


CiviCRM Fatal error: Uncaught CRM_Core_Exception: [0: Found installation canary

I just did an installation on my Windows Laptop, and it worked. I describe below my configuration. Maybe it leads to a working configuration on your system.

I downloaded and installed the xampp-win32-5.6.28-0-VC11-installer installer from ApacheFriends. The installation decides for the default home C:\xampp.
After the installation, the Xampp control panel starts. I start Apache and MySQL.
I open the shell to create the databases (I am more at my ease with Unix). I create the databases with the following commands:

mysql -u root

create database wp character set utf8;
create database civi character set utf8;
grant all on wp.* to wpuser@localhost identified by 'wppwd';
grant all on civi.* to civiuser@localhost identified by 'civipwd';
flush privileges;

I install WordPress by unzipping the download in the C:\xampp\htdocs directory. I remove all other files (to keep the installation clean).
I do the WordPress configuration according to the documentation. (database wp, user wpuser, password wppassword).
I unzip the CiviCRM (civicrm-4.7.14-wordpress.zip) in the directory C:\xampp\htdocs\wp-content\plugins.
Now I activate the CiviCRM in the plugins menu and complete the installation with the Almost Ready invitation. (database civi, user civiuser, password civipwd).
Installation completes without problems.

The civicrm.settings.php file is generated in the directory C:\xampp\htdocs\wp-content\uploads\civicrm. In the file is a mix of forward slashes and backslashes, but CiviCRM does not seem to bother. For example:

$civicrm_root = 'C:\\xampp\\htdocs/wp-content/plugins\\civicrm\\civicrm\\';
if (!defined('CIVICRM_TEMPLATE_COMPILEDIR')) {
 define( 'CIVICRM_TEMPLATE_COMPILEDIR', 'C:\\xampp\\htdocs/wp-content/uploads\\civicrm\\templates_c\\');
}


Can you import financial data into Sage accounts?

Yes we can import data directly to sage but using custom format

I did take a copy of CSV.php file and created a custom_export.php and then did the changes

But you can also directly change CSV.php file and do the required changes - In most case sage file will need only minimum fields like which can do by altering the SQL

Type -  Account Ref - Nominal - Reference - Date - Transaction - Net - Vat - Tax code

If you need more details please let me know - I guess this helps!!!


Another alternative might be to use the CiviRules extension, and develop your own action that prepopulates cases upon creation?

Check for https://civicrm.org/extensions/civirules the extension and https://docs.civicrm.org/civirules/en/latest/create-your-own-introduction/ for documentation on developing your own actions.


Transferring contacts from one CiviCRM installation to another

Please increase your max_execution_time

if you are using Xamp look for following file and change

xampp\phpMyAdmin\libraries for config.default.php

change
$cfg['ExecTimeLimit'] = 300; to 0 - for unlimited

this should fix the issue


outbound email settings failure to send test message

Perhaps your internal mail server uses a different port for smtp? You can see that it's trying to connect to port 25, you might have it configured at a different port?

Alternatively, if you have some kind of command line interface to the machine running the civicrm code, you could try a direct connection using, for example, telnet (details here https://www.port25.com/how-to-check-an-smtp-connection-with-a-manual-telnet-session-2/).

And finally, you might also look at the dns on the civicrm code machine to make sure your domain for the smtp server is resolving like you expect, and/or trying putting in the ip of the mail server instead of its name.


how to find contacts who have paid for their membership?

You can use Advance search to get the contacts that have membership and have paid for their membership.

Navigate to CiviCRM >> Search >> Advance search
Expand Contribution accordion
Select Contribution status to Completed and other filters if required
Expand Membership accordion
Select 'Membership is a Test?' to No and other filters if required
Hit Search.

The result should only list contact having membership with its payment.

HTH

Pradeep


Why are relationships limited to two degrees?

The "why" question is fairly straightforward in an open source, community supported and community developed software world: because so far no one wanted more levels badly enough to develop or fund the development of an extensions for it :-)
But I would certainly recommend playing with the extension that @petednz recommended, and check if you can achieve your requirements.
And obviously you are very welcome to develop/fund the development of an extension that introduces more levels.


CiviCRM not recognizing csv file when uploading

I'd look at the size of the csv, how big is it.
The number of records in the csv, if it is very big I'd break it up.
Look for extra blank lines that should not be there, i.e. clean it up.
Then what kind of csv are you using, open and save again as csv.
I've had these kind of issues, hopefully this helps, good luck!


Civi posting additional records for recurring PayPal transactions

It's not feasible to replicate on the demo site in this case, which suggests posting an issue in JIRA is okay without that step -thanks for asking.

However, as this is widely-used functionality it's possible you have something misconfigured or misinterpreted rather than there being an error in the code suitable for a JIRA issue bug report.

Could you edit your question here to include the relevant original and subsequent records from civicrm_contribution, civicrm_entity_financial_trxn, civicrm_financial_trxn and civicrm_financial_item as well as the civicrm_contribution_recur record? Please refer to the spec for the entries expected in each table for each contribution at
https://wiki.civicrm.org/confluence/display/CRM/CiviAccounts+Data+Flow and explain how there are too many entries.

(Sorry there's no spec for the contribution_recur table but it wasn't affected by CiviAccounts work.)


Update contact via REST and JSON request body

Please, do not put the api_key nor key into the get parameter, to they don't end up in logs and other places, they are better as a post param.

As for your question, you can have json="{'id':2..."} as a param, ie json encode the whole contact and put as as a string param into a (post) json param

You might be safer to return only the modified param, as some are likely to be ignored (eg. the modification_date) or might expect a different format when modified than read (less and less a problem, but you might bump into edge cases still)


Is there a way to send an email about security updates?

There is a security notification civicrm group that you can subscribe to on civicrm.org

https://civicrm.org/advisory/subscribe

Security updates and notifications have not been tied as yet. Definitely this would be a good addition to the project


I don't think that this is currently possible. The time part will we stripped in CRM_Utils_Date::convertToDefaultDate() called here: https://github.com/civicrm/civicrm-core/blob/master/CRM/Contact/Import/Parser/Contact.php#L1909

You could have an extension read an imported text field with a date string and set the proper datetime value for the custom field via the hook hook_civicrm_custom in an extension. But adding the functionality to core would most likely make more sense.


Drupal webform submission, send email to email address in form

I always use the Webform -> E-mails tab for this -> and then I can pick any Component to send an Email - in the example below I want to send an Email to the address that a user typed into the Email field.


Paypal Payment Processor not connecting with CiviCRM

Solved:

It turns out that the CiviCRM logs contained error messages that indicated a missing database column, specifically a CiviCRM custom field. It's not clear why the column was missing, and the CiviCRM admin continued to display the field. An attempt to edit and save the custom field, in the CiviCRM admin, resulted in the same error as occured when submitting the donation form, which appeared to confirm that the custom field was the culprit. Sure enough, once this column was rebuilt, the problem was solved.


Can I see/export the total field mapping in use?

Good question. I am sure in the 'old days' you used to be able to work you way back to such a list via the breadcrumbs, or maybe i am confusing it with Option Groups. But i just gave it a go and couldn't find a way to it.

Your best bet is to jump in to the DB if you have access and grab a copy of the civicrm_custom_field table, plus the civicrm_custom_group table


The QR Code Checkin Extension does (some of) that:  https://civicrm.org/extensions/qr-code-checkin ?


Rules for Inbound Mail Processing (multiple addresses? searches?)

What you're requesting is possible by writing a custom extension, or possibly with CiviRules.

I managed the creation of such an extension, which is available on Github.  This extension changes the activity type of any inbound email sent to inbound+support@example.org to a different activity type.

If you're a coder, you can adapt that extension to your purpose.  If not, try using CiviRules with a trigger of "when an activity is created" and conditions that match your inbound email, and an action of "add a tag".


Unable to get CiviCRM running on Drupal 8/Ubuntu server 18.04 LTS/Linode

This ended up being a combination of adding the settings listed at https://hq.megaphonetech.com/projects/commons/wiki/CiviCRM_for_Drupal_8_installation_notes to  civicrm.settings.php and the file system permissions.


Creating custom tokens is fairly easy in CiviCRM.

I would create a Group in CiviCRM containing the contacts of all the Board Members. By using a Group, as the Board Members change and are updated in the Group the token will automatically reflect the changes.

Then I would program a custom token that converts {board_members} to a list of the names of the contacts in the Group (separated with <br />).

The link in @Ramesh's answer should help.

You could probably kludge together a solution using templates or something similar, but it is probably more likely to break and more difficult to upkeep.


This appears to be an incompatibilty with php 8, even though the message initially suggests a SQL problem.


membership not updated with recurring contribution

Payment Processors do not care what the monies are used for. Once the transaction is completed the payment processor’s job is done.

You’ve either run into an issue with CiviCRM Core or with Webform CiviCRM.

Issues with Memberships not renewing are (unfortunately) not uncommon. Membership renewals are complicated from a logic/code perspective as there are so many different Membership models already in core (rolling/fixed, statuses config). If Membership is important for your org consider an extension that handles the logic for you. Eg -> if Contribution is Completed -> add +1y to current Membership start (or end date) - whatever your rules are you have control.


hide select box options in contributed page

First - don't edit anything in the templates_c directory!  These are cached pre-compiled copies of the template, and are frequently cleared out.

Second - it's not advisable to edit the templates that ship with CiviCRM directly, because you'll have to apply your changes on every upgrade.

The best practice is to install civix and create an extension, but in your case, I don't see the harm of using a template override, and more specifically a ".extra.tpl" file.

This wiki page has all the information you need.  I would start by just creating a "custom templates" directory, and make sure you can successfully implement your change with a normal template override.  Then remove your override and reimplement using a .extra.tpl file, and your change should be OK through most upgrades.


Cannot bootstrap Civi from standalone script in WP

Sorted. The problem was that the script was being run by the web server cron, rather than civi cron. As such the working directory was my home directory. Hacky fix is:

chdir(__DIR__);
eval(`cv php:boot`);

Better fix is to make it run via Civi cron.


WP Install: Event registration - registered by participant id

Late to the party here, I know - but we ended up writing code to extend the report to add a "Registered by Contact Name" column to the output here.
Happy to share this code if it's still useful.
Best
Marcus


Dashboard Issue after attempted Installation on Wordpress 4.5

The civicrm.settings.php file is not present in the installation.

you can use the command "locate civicrm.settings.php " on your command line  to see if you can find it because on wordpress you can have the settings file floating somewhere probably and the installation cannot run to completion if the settings file is not there "( so i think )"

you could also get to see some compatibility issues which have been stated Wordpress plugin incompatible with CiviCRM  to see if you have an issue related to those.

If it takes so much time, you can take a lesser time to follow this Installing CiviCRM on wordpress which is very explicit and well elaborate


I recommend you check the detailed error message (you can download a csv file which contains those).

Maybe CiviCRM thinks that some columns are the contribution_id and it automatically selects this column to be matched with contribution_id. Then when doing this, it cannot find this ID.

I have expirienced exactly this problem, ignoring that column during import helped.


How do I create CiviEvents that occur in different timezones?

No existing fix I know of. It's maddening, and the prime example of this is civicrm.org! The site runs in US Pacific time, so when we have Washington, DC, meetups scheduled, the iCal has the wrong time.


Case status change to a closed status does not update the end date and relationships of the case

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.


How can I limit the participant role choice?

I don't know if this feature will be released one day but I would find it pretty useful.
You could select a role list base on an event type or template.

However this extension just came out a few days after my question, and it could help if anyone is in the same situation.


Its possible to have payment processor of same type i.e it is possible to have more than one paypal payment processor in CiviCRM. You need to make sure you include correct payment processor on contribution or event page and also configure paypal ipn on each paypal account correctly.

https://docs.civicrm.org/sysadmin/en/latest/setup/payment-processors/paypal-standard#assign-this-processor-to-your-contribution-or-event-registration-pages

https://docs.civicrm.org/sysadmin/en/latest/setup/payment-processors/paypal-pro#assign-this-processor-to-your-contribution-or-event-registration-pages


Creating a custom payment method with conditional field

Themak, Nice question. This are hardcoded in core file but you can create your own field  for each payment method using buildform hook. Here is the snippet on how to do that

function custom_civicrm_buildForm($formName, &$form) {
  if ($formName == 'CRM_Financial_Form_Payment' && !empty($form->paymentInstrumentID)) {
    if ($form->paymentInstrumentID == CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'payment_instrument_id', 'Test')) {
      $form->assign('paymentFields', array('source'));
      $form->add('text', 'source', ts('Source'));
    }
  }
}

  Note: The above snippet is not fully tested i have just created blindly, but i am 100% sure it should work


REST API and ACLs - should the API return contacts made accessible via an ACL?

When the Contact Get REST api is triggered, I can see that the permission clause for the ACL is being generated from the whereClause() funcion of CRM_ACL_API. Here a contactId(previously passed as NULL) is fetched from the session (logged in user id) and the contact from api_key is actually not taken into account. Hence a 0 is set for ContactId and ACL permissions are not respected.


Apart from Shoreditch there is also the Haystack theme which can be found here: https://github.com/mattwire/civicrm-haystacktheme. As @petednz suggested, try them both?


Can you create a smart group for each contact type and then use CiviGroup Roles Sync?

Also if you add contact sub type field on the user registration profile and so that you can update the contact type and role on same screen.

HTH

Pradeep


Warning: Illegal offset type (multiple) when creating new report from template (D8/Civi5.11)

Its a bug in CiviCRM and is not handled properly for D8, you can fix this by applying below patch

diff --git a/CRM/Report/Form/Instance.php b/CRM/Report/Form/Instance.php
index 8f00408a17..965949e21c 100644
--- a/CRM/Report/Form/Instance.php
+++ b/CRM/Report/Form/Instance.php
@@ -112,7 +112,13 @@ class CRM_Report_Form_Instance {
     if (function_exists('user_roles')) {
       $user_roles_array = user_roles();
       foreach ($user_roles_array as $key => $value) {
-        $user_roles[$value] = $value;
+        if (is_object($value) && is_a($value, 'Drupal\user\Entity\Role')) {
+          $value = $value->label();
+        }
+        else {
+          $key = $value;
+        }
+        $user_roles[$key] = $value;
       }
       $grouprole = $form->addElement('advmultiselect',
         'grouprole',


Afform is still in beta so I expect this functionality to improve further, but currently it does support passing in an id via the url. It keys off the af-entity name property. So if you visit your form and add ?member=123 to the end of the url string it should load contact id 123 as the "Member". In that case it will update instead of creating a new contact.


Yes, you can do that with chaining in API Explorer:

$result = civicrm_api3('Campaign', 'get', [
  'sequential' => 1,
  'options' => ['limit' => 0],
  'api.Campaign.delete' => ['id' => "\$value.id"],
]);


How can I export civicrm contribution along with its price set fields?

Have a look at eileen's Extended Report Extension which includes

Extended Report - Contributions with Price Set data
Extended Report - Price Set Line Items


The Slovak translation of CiviCRM is only 16% complete - so it's not surprising that some pages wouldn't be translated.  This template (templates/CRM/Mailing/Form/Optout.tpl) is correctly configured to be translated, so it seems that this is simply a case of untranslated strings.

If you or someone you know would like to improve the state of the Slovak translation, consider registering for a Transifex account.  You'll have the opportunity to enter translations for various English text, which will automatically be added to the Slovak translation files, which you can then download to your site.  You'll also be helping other Slovak-speaking organizations with your efforts!


Error after upgrading from v5.22.0 to v5.29.1 in WordPress

Just adding an answer - which is actually from the comments - since I think stackexchange doesn't like answers in the comments - anyway - the issue was an extra copy of the codebase


Issue with adding price field options to admin price field

Can you try after upgrading CiviCRM to 5.2.1? It might be possible it was an issue with previous version of CiviCRM.

HTH

Pradeep


Buildkit -- Warning: file_get_contents(http://localhost:7979/index.php): failed

Check that you've followed this instruction?

  Note: Please add this line to the httpd.conf or apache2.conf:

Include /root/.amp/apache.d/*.conf

To do this, edit your Apache configuration (on Debian I'd create /etc/apache2/conf.d/civicrm-buildkit.conf) and add that line.

Check that you can open http://localhost:7979 (or the URL reported by your amp test) from the machine you're working on (curl http://localhost:7979/index.php etc).

A DNS failure suggests that your machine cannot resolve localhost - check /etc/hosts is correctly configured.
A connection failure suggests Apache configuration - check that Apache is seeing the configuration and able to bind to appropriate ports.
Errors in the output from curl, and further information in Apache / PHP error logs should give further information about what needs fixing.


Database upgrade fails updating to CiviCRM 5.22.1 to 5.28.3

The problem with updating to version 5.28 was apparently due to some of my civicrm sites having been originally installed with version 4.7. I edited the settings file by comparing to a version 5 setting file. A critical line (~82) was commented out.
Un-commenting that line (and updating other sections of the setting file) allowed me to update all my sites, both live and on the dev server.
Also note that line 82 may be commented out on sites that were originally installed in the early days of CiviCRM 5.x.


How can i show the Count of Contributions in a give time period?

If Summary Fields does not have the fields you need, it's pretty easy to add your own using hook_civicrm_sumfields_definitions()

Try dropping something like this into an extension:

/**
 * Implements hook_civicrm_sumfields_definitions().
 *
 */
function myextension_civicrm_sumfields_definitions(&$custom) {
  $custom['fields']['contribution_count_twelve_months'] = array(
    'label' => 'Count of Contributions in last 12 months',
    'data_type' => 'Int',
    'html_type' => 'Text',
    'weight' => '15',
    'text_length' => '32',
    'trigger_sql' => '(
      SELECT COALESCE(COUNT(id), 0)
      FROM civicrm_contribution t1
      WHERE t1.contact_id = NEW.contact_id AND t1.contribution_status_id = 1 AND
      t1.financial_type_id IN (%financial_type_ids) AND
      CAST(receive_date AS DATE) BETWEEN DATE_SUB(NOW(), INTERVAL 12 MONTH) AND NOW()
      )',
    'trigger_table' => 'civicrm_contribution',
    'optgroup' => 'fundraising',
  );
}

Tweak the trigger_sql for your preferred time interval.

See the Readme for more info.


Try doing an export of the data from civi of the fields you want to import just to verify you have the data in the expected data formats

EDIT (from Andrew's comment above)

The problem is that CiviCRM exports (and imports) data in a CSV file in which every cell is formatted "general," while CommitChange exports donation amount as formatted "currency." Problem solved.


How to access civicrm_subscription_history in Views?

Views CiviCRM Expose Tables might work for you.


How to target record id for multiple record custom field set in Webfom?

Currently there is no way to target a single record of a multiple record custom field set with a Webform.  As stated above, using Activities and Cases for this type of data as opposed to multiple record custom field sets is the better option for our use case.


How do I set up CiviMail to automatically remove duplicate email addresses?

In our case, we don't make any use of a contact with someone else's email address.

We ended up just training everyone to make sure that the Remove Duplicate Email is always checked.


How do I choose whether my payment form will run in live or test mode?

It's a URL difference, yes.

From Contributions menu > Manage Contribution Pages, you'll see a list of each contribution page, with a number of menus ("Configure", "Contribution", "Links", "More") next to each.  Select Links > Live Page for the live URL, Links > Test-Drive for the test page.  The URLs look like:

Live:  https://example.org/civicrm/contribute/transact?reset=1&id=1

Test: https://example.org/civicrm/contribute/transact?reset=1&id=1&action=preview


Paypal ipn issues after upgrade to 4.6.15.

Why is IPN failing on Pantheon?

Check out CRM-17212: IPN and other scripts break on Pantheon due to session handler although it does look like you have a similar patch in effect. Compare your changes with those merged into the 4.7 branch, or consider trying 4.7.

How do I debug on Pantheon?

On Pantheon hosting, you can inspect your application's error logs in:

logs/php-error.log

For additional tips on debugging PHP errors, see also:

Where should one look for logs when debugging a new problem? and
How do I debug CiviCRM when I hit a blank page / white screen / fatal error?

Pantheon specific docs on logfiles are:

https://pantheon.io/docs/debug-log-files/
https://pantheon.io/docs/php-errors/


How to export member type after an advanced search

Welcome to CiviCRM Stack Exchange Michael ^^
In the upper left corner of the Advanced search you will find a dropdown field called "Display Results As". If you select memberships the search will yield a list of memberships instead of contacts.
You should then be able to select "Export Members" from the action menu and include all membership details including the type.


CiviMail Images always appear broken on screen after uploading correctly

If your images are being stored in a directory that prohibits direct access, it will give you that symptom. There's a .htaccess file that performs this function for apache, I'm not sure how that works with MS servers.

Your best bet is to try loading the image directly (e.g. right click on the broken image and load the image in a new tab) and see what the path/url is, and look in your server logs, it should tell you why that image is not being loaded, i.e. either whether it is a permission or just a not-found issue.


You can customize civicrm in many ways - eg add custom data/fields; you can also add extensions - essentially packages of code that help you leverage civicrm further. Lots of ways to customize your civicrm without requiring you to know touch code.


Adding repeating event registration shortcode in wordpress

You may be able to achieve what’s required with the WordPress CiviEvent Widget extension -

https://civicrm.org/extensions/civievent-widget


What to do with "mcrypt" message after upgrading to PHP 7.2

As the author of that message, let me try and clarify ...

The mcrypt extension is (only) used to encrypt selected passwords, and "selected" as far as I know usually only includes the smtp password, (which you may not even be using).

The message is there that so that if you upgrade your php version and the new one doesn't include mcrypt, you are aware that your encrypted passwd(s) won't be unencryptable, and you'll have to re-input them.

Civi doesn't encrypt all passwds, and it's not a terrible thing not to encrypt them (these aren't user passwds, btw!), so the warning is just a convenience to avoid confusion and delay.

Now that mcrypt is no longer included in php, the message should get updated.

Conclusion: I'd stay on 7.2 if it's working otherwise.


I would do this with a Drupal webform as follows:

Contact 1 - current user (if not logged in you'd need a checksum)
Contact 2 - the person to be tagged - set this as "existing contact" prepopulated from the url.
The tag will have to be preselected in the webform, so you'd have do clone this webform for each tag you want.
Add a tiny bit of javascript to the form to make it auto-submit.
On submit, redirect or display a success message.


Have CiviCRM follow CMS language with Joomla

To my knowledge, CiviCRM doesn't support automatic inheritance of the language in Joomla, yet.
But your idea to add lcMessages in the url was good. I was able to make it work using lcMessages=en_CA. It seems that you have set up your site in en_CA locale, not the default en_US.
The full url should be : https://www.voile.qc.ca/en/?option=com_civicrm&task=civicrm/profile&Itemid=609&force=1&gid=14&lcMessages=en_CA


Filtering search results to see only the most recent contribution by each contact

Summary Fields Extension may be your friend. It will create calculated fields for 'latest donation' (and many other such fields) and these are then available in eg Adv Search.

Let us know if that helps with what you are after


Searching and smart group for multiple event types

Using the API3 interface I was able to see the information I needed to work though this problem. See the comments.


How can I automatically turn off civirules after a given period?

Depending on your Trigger in the rule, I would suggest just adding a time-based condition.
If contribution, add criteria «Field Value Comparison» for «Date Received» and set the operator to less than the desired date.
If activity, use activity date. If new membership, use membership start date, and so on...


Hi Paul and Welcome to CiviCRM StackExchange.

You can preview a contribution page like this:

In the Navigation click on "Contribution" --> "Manage Contribution Pages"
You will find a list of contribution pages and on the right side "Links" which has "Live contribution page" (creating actual payments) and "Test Drive" (creating test contributions BUT real contacts)

Click on the link you want to use. To see the page as a visitor would, open the link in a private window of the browser.


Idea for extension Someone Else Pays - any feedback?

Here's how we get someone else to pay! This is an Example of an Event Registration:

Primary Contact -> and 4 Participants; Key is: register each Contact separately;

Use Conditionals to help with how many # participants fields you need - and configure the Events webform elements - to be a checkbox for the Primary Contact;
End result: if Primary Contact (in this example often a Director of a ChildCare program) is simply registering and paying for Staff to attend a Conference -> the Director pays and all the Participants are added.
Example: KarinG will register Karin G:
KarinG has paid - but has no Events:

Karin G is the Participant but has no Contributions:

Receipting? Does it work? Almost -> the person who paid (KarinG) gets a transaction receipt showing those who have been registered (Karin G) [triggered via the API - sendConfirmation to be exact)
And what about sending a Confirmation to the Participants that their Director has signed them up. That works too - with a little help from... CiviRules! Trigger: participant add; All I needed to do was write a small custom module to generate some participant tokens;

Ok what does not work as well yet -> CiviCRM native is a bit confused about Payments; and the invoicing is a bit off -> it should really look much like the receipt that you can get at with sendConfirmation - but you can't. It's not clear at all that KarinG paid for Karin G to go to the Conference - Fuzion has helped make this work - by adding a Participant Name to the LineItem before webform_civicrm uses the lineItem API to create the lineItems:
What really does not work is -> if you sign up more than 1 Participant -> their Event Participant View -> shows the total $ for all the participants - not just for their lineItem (so CiviCRM native thinks that each single participant is owed a refund);
If I were tasked to do this in an Extension -> use the APIs that webform civicrm uses to get this registered by functionality up and running; no extra table required; use the registered_by -> to properly link payments and event registrations; Extend the registered_by at the Event level to the Membership level -> (that would be a gift membership e.g.);


How to add a radio button with the help of buildQuickForm()

Its pretty simple to add it as a group of radio button, adding below snippet on how you can add (not tested)

    $choice = [];
    forach ($data as $id => $value) {
      $choice[$value[0]] = $form->createElement('radio', NULL, '', $value[1], $value[0]);
    }
    $form->addGroup($choice, 'element_name_of_radio_button', ts('label of radio button'));

HTH

Pradeep


Send an email to activity targets when activity is created via the API

This will work in 5.24! As the new "tokenprocessor" functionality in core now has support for activity tokens. You'll also need a modified version of the emailapi extension https://lab.civicrm.org/extensions/emailapi/-/merge_requests/3 and you can then use civirules to trigger.


Your drupal may be using a different mysql driver. CiviCRM recently migrated to requiring mysqli. See https://civicrm.org/blog/totten/psa-please-verify-php-extension-mysqli for more details.


{crmURL p="civicrm/points/grant" q="cid=$cid&type=$type"}

^this

The p is the address of the page
The q is the list of parameters
The domain is added first

So the above code (with $cid=A and $type=B) translates into:

http://example.org/civicrm/points/grant?cid=A&type=B


Since it's a ts() wrapped string, you should be able to use Administer - Customize Data - Word Replacements to replace it. See https://github.com/jake-mw/CDNTaxReceipts/blob/1.5.1/cdntaxreceipts.functions.inc#L409. I haven't tested that.

To fully customize it you could implement hook_cdntaxreceipts_writeReceipt. See https://github.com/jake-mw/CDNTaxReceipts/blob/1.5.1/cdntaxreceipts.functions.inc#L301


How to solve uncaptured payment "Stripe Payments with Caldera Forms"

The problem is solved by using cf-civicrm developer version from github rather than the version proposed by Wordpress.
To understand more you can see this Post : https://github.com/mecachisenros/cf-civicrm/issues/185


Inconsistency with date fields in the API

We've worked this out to handle form creation for civicrm fields in the CiviCRM entity project. https://drupal.org/project/civicrm_entity

We use the 'type' property returned from a getfields api call like so:
This code here we determine what widget to use:
checkout civicrm_entity.module
civicrm_entity_get_field_widget()
the section pertaining to dates:

 if (isset($field_spec['type'])) {

        switch($field_spec['type']) {
          case 4:
            $widget = array('widget' => 'date_select','format' => 'Y:m:d');
            break;
          case 8:
            $widget = array('widget' => 'date_select','format' => 'H:i:s');
            break;
          case 12:
            $widget = array('widget' => 'date_select','format' => 'Y:m:d H:i:s');
            break;
        }
      }

so the '#type' of the form element is set to 'date_select' and the format is used to set the '#format' property
this does require the date_api module from the Date project


“Network Error Unable to reach the server” recording Contact activities

You have custom plugin or extension that is interacting with Activity type which expects custom fields in the system and is either disabled or deleted.

Solution:
1. Turn off the extension if the system no longer needs it.
2. Enable/Add the custom field or custom group back into the system

Cheers

Pradeep


"Recent Registration" view under CiviEvent - Customise columns

That table is defined in templates/CRM/Event/Form/Selector.tpl and changing that would require some level of coding (your profile suggests you have this skill). Changing the Selector.tpl template directly would solve your problem but is discouraged because it causes headaches when upgrading to new versions. Creating an extension is the preferred way to make these kinds of changes, but that is much more involved. (See this question for more information.)

A non-coding, quick alternative is create an Event Report with the columns that you want to view, and under that report's Access tab check "Available for Dashboard". That will allow users to add the report to their main Civi Dashboard (rather than the Events Dashboard). That won't get exactly what you want, but may help you solve the usability/workflow issue that I imagine is behind your question.


Is there a hook for writing a record to an export batch?

Yes, its possible to alter the content of exported files. Either you can create your separate export type or can use combination of hook_civicrm_batchItems and hook_civicrm_batchQuery


In CiviCASE how do I restore a deleted case?

CiviCase normally doesn't delete anything it just marks it deleted. You should be able to use advanced search and search for deleted contacts and restore the contact from there. Ditto Find Cases and check the box for deleted cases.

But if the records were truly deleted then you also need:

civicrm_activity_contact
civicrm_log
and then there's a couple if you want the contact details too - civicrm_email, civicrm_address, civicrm_phone, civicrm_website (might be missing one or two)

Also if you have custom fields the records in civicrm_value_XXX.


How do you import (custom) relationship fields?

From what I can tell this functionality is not available in core imports, which allow relationships to be imported as a side function (e.g. when importing contacts, you can specify relationships on the side).

There is an extension available called "CSV GUI Import to api" which allows more targeted imports, including one directly to Relationships.

I think you need to use Internal Contact IDs (I tried to find how to do it with external IDs and couldn't manage it), as well as having other info specified:

In the screenshot above (from the second field matching step), "Year" is a custom field that I added to a certain relationship type, and which can be imported to in this way. You can see the core date fields are also available.


Membership cancelled, but active until end date

I think I did a bit of both:

I created an extra membership status called Stopped. This is valid and active until the end of the year. At the end of the year I update all the Stopped memberships to Cancelled.


Are you using this plugin too by any chance: https://wordpress.org/plugins/civicrm-admin-utilities/

If so, there are settings for what post type the shortcode should appear on.


CiviCRM Security Patch Needed warning still exists from older Civicrm Version?

Not 100% on the outcome however it may have been a cached message. Not sure on the process for these being cleaned up after an update.

I had previously cleared caches / run cron but didn't help.


Paypal IPN no longer updating contributions

I'm not using this system, but I may have an explanation.  We use a custom coded donation system that expects PayPal to report back to us when there is a transaction.   On 7/26/17, 7/27, and 7/29 so far there have been no such transactions, on 7/28 we only received too.   The problem is confirmed to be a PayPal issue, and after fighting with them for 2 hours got a trouble ticket opened.  Log into PayPal and check your activity, then go to IPN (Instant Payment Notification Logs): https://www.paypal.com/us/cgi-bin/webscr?cmd=_display-ipns-history   If there is a problem communication with your site, it will show transactions that failed.  In my case, it clearly shows that PayPal is simply missing transaction entries under IPN that show up on the regular activity log.


You can use the stripe payment processor extension to handle stripe.

https://civicrm.org/extensions/stripe-payment-processor

But it only supports credit cards right now.  The maintainer is hoping to upgrade it to Stripe v3 which should support Apple Pay and lots of other wallets as well.


how to download all contacts onto excel spreadsheet?

I believe you install EXPORT TO NATIVE EXCEL or EXPORT TO EXCEL extension and find contacts and select export contact from actions list and export all primary fields or the fields you want to export.

Export contact doc: https://docs.civicrm.org/user/en/latest/common-workflows/exporting-your-contacts/


Creating thank you letters redirects to a contribution page

There didn't seem to be anything related in the CiviCRM log (with logging turned on) or PHP error log. In the Apache error log there was a strange error:

AH01797: client denied by server configuration:
/home/username/public_html/sites/default/files/civicrm/custom/delete-this-MDH295Ww25

Permissions all seemed fine, however.

I ended up installing wkhtmltopdf and bypassing dompdf which isn't really a solution to the problem but is an alternative.


In all of your database changes, you may have mixed up the database information in one or the other of your civicrm.settings.php files.  In Joomla there are two:

administrator/components/com_civicrm/civicrm.settings.php

and

components/com_civicrm/civicrm.settings.php

They should be almost identical: the site URL for the one in administrator should be http://yoursite.org/administrator/ rather than just the base URL of your site.

Both have database connection information; so does your Joomla configuration.php file.  You need all three to agree on the Joomla database information (the line with CIVICRM_UF_DSN in the CiviCRM files), and you need the two CiviCRM files to agree on the CiviCRM database information (the line with CIVICRM_DSN).

If you think you've hopelessly ruined your CiviCRM settings files, you can rebuild them from the copy at

administrator/components/com_civicrm/civicrm/templates/CRM/common/civicrm.settings.php.template

You will want to keep your existing ones handy as a guide (and a fallback in case you cause trouble), and you'll need to replace all the tokens, which appear as %%tokenname%% in the file.


Contribution page "other amount" option causes weird behavior - possible bug?

Update: This is a bug - Reported at https://issues.civicrm.org/jira/browse/CRM-17735

---original answer---

I am not seeing this on the demo. On clicking the Other Amount radio button, the credit card information section disappears. This is the correct/expected behaviour as the amount is Zero. Adding an amount makes that section reappear.

This could be a browser issue - please test with other OS/Browser combinations. I used Ubuntu Mate with FireFox 42.0


How to add additional custom translation for a payment processor?

Just after starting the bounty i have found what i was looking for:

To merge two .po files you'll need to use some shell magic. I did the following:

extract the original civicrm.mo file to a .po file with this gettext-command: msgunfmt civicrm.mo -o civicrm.po to an empty folder
paste the .po file of the extension to the same folder
merge the two .po files with this command: msgcat --use-first *.po | msgfmt -o civicrm.mo -
replace the original civicrm.mo file on the server with the newly created one
clear cache

This is working for me. The extension is translated.


How to automatically create a user account when someone donates?

Yes, this is possible by using a profile - see the 'Advanced Settings' of the profile used in the contribution page and you'll see (towards the bottom) the settings re creating a drupal account.  When they have set a password and logged in to Civi the dashboard is the default.


How can I customize the "Fatal Error" screen?

You can configure CiviCRM to use a customized "fatal error" screen by following the steps below. You may want to include specific site administrator contact information or other problem resolution instructions on the screen, as well as "theme" it for a more professional or consistent look.

Save a copy of civicrm/templates/CRM/error.tpl
Edit the text and layout of this file as desired. You can add site administrator contact info, site logos, etc. as needed.
Login (with Admin CiviCRM rights) and navigate to Administer » System Settings » Debugging and Error Handling
Replace the default value (CRM/error.tpl) with the relative path (from civicrm/templates) and name of your new file.
Save your changes.

You can also configure CiviCRM to use a custom error handler by referencing a custom PHP function in Administer » System Settings » Debugging and Error Handling

You might also be interested in the CiviCRM Error Handler extension which sends a detailed email to an administrator every time CiviCRM encounters a fatal error.

This content was migrated here from this wiki page as part of the 2017 wiki content migration project


Can I have more than 4 Vacancies appear on the Dashboard in CiviHR?

Not currently. I peeked into CRM_HRRecruitment_BAO_HRVacancy:getVacanciesByStatus(). It's hard-coded to return the four most recently created vacancies.


CKEditor with well-formatted html source code

However, I found a solution. Hopefully it's not too far from good practice - I'm not a real coder so I've just done the best I could!

Adding the following code to CKEditor's config file seems to do the trick. So, go to (on Drupal 7.56) sites/default/files/civicrm/persist/crm-ckeditor-default.js.

It's important to know that you probably have to clear your browser's cached files each time you make a change to this file.

This file is created by the CKEditor UI at civicrm/admin/ckeditor?reset=1, and will be overwritten if ever that page is saved. But if you can keep everyone away from it, you're safe to edit the file directly.

Place the following code somewhere well outside all of the CKEDITOR.editorConfig function:

CKEDITOR.on( 'instanceReady', function( ev ) {
    // Sets indentation of source code
    ev.editor.dataProcessor.writer.setRules( 'div', {
                indent: true,
                breakBeforeOpen: true,
                breakAfterOpen: false,
                breakBeforeClose: false,
                breakAfterClose: true
            });
});

This is from: https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_output_format

I'm sure there's a better way, and probably better code than this, and if so I'd be glad to know what would be a 'best practice' solution.

Thanks!


welcome to civi and SE.

There are a number of ways to address the requirements and partly would depend on your CMS.

For example with Drupal you can use Webform module (with civicrm integration) as a simple way of recording an interaction, then choosing the required 3rd party, pulling in their email and therefore sending an email, from Webform. The text of that email can be tweaked to provide whatever information needs to be passed on to them.

In pure civi this would be handled by creating an Activity and 'assigning' it to the 3rd Party, and this causes CiviCRM to fire off an email (assuming that setting is 'on' for your system) but you don't have much control, out of the box, as to what gets sent.


Yes, you can achieve this by installing the Fancy Tokens extension.


Dropdown Custom Field - Is this possible

Yes, you can do this by using "select" option

Please try to use text - with select option (Data and Input Field Type) and fill up the details below or you can select an existing set from the drop down

If you are not sure about the option please let me know I can post some Example with screen shots

I guess this helps !!!


Check if www-data has write permissions in /var/mysqltmp directory.


I am to install CiviCRM on Windows 10 with WAMP

BuildKit does not work on Windows at present - CiviCRM BuildKit makes many assumptions about what tools and environment it has access to and at this time it is not Windows compatible.

It could be made to be so but the ease of setting up a Linux VM in Windows and the ever-improving "Windows Subsystem for Linux" make it unlikely that any explicit efforts are going to be made to make BuildKit natively support running on Windows/WAMP stacks.


Inserting details of another contact as tokens into an email

Are you using drupal as your CMS? We have some custom tokens with token data from the organizational record that individuals are related to.

Check it out here, it won't get you all the way as we are using custom fields and relationships not applicable but you may be able to use it as a template of sorts:

https://github.com/elisseck/civi4.6-related-info-token


Links to a contribution page with checksum and contact ID generate a fatal error

I would guess that anonymous users are not able to view and use contribution pages.
Confirm and change this at:
Administer->Users and Permissions->Permissions (Access Control)->Wordpress Access Control.
OR
https://yoursite.tld/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Faccess%2Fwp-permissions&reset=1


Error message on sending a mailing, CREATE TEMPORARY TABLE

The last time I saw something like this was when custom fields on a table had been added, a group had been created using these custom fields and subsequently the custom fields had physically been deleted. This meant the custom group cache table failed to create - the group used in the mailing was the culprit. I'd try using a different group as a test. If it works then look to rebuild your smart group - the full error in the SQL should point you in the right direction.


Order form for materials on donation basis (CiviCRM / WordPress)

In theory you can set up a Contribution page with Price Set with all your 'merchandise' available as Price Fields so they could order eg 5 postcards or 3 x pack of 3 cards etc.

Then i you set the form for Pay Later that becomes a 'promise' which is recorded in civicrm as a pending transaction.

when they submit then the purchaser will get an email, and the 'person doing the shipping' can be added as a CC or BCC via the Contribution Page settings

may not fit what you need but worth understanding what is possible via that route

it does not create the Activity (other than the one that CiviCRM creates for any contribution)


Contribution pages look strange on mobile

Render all CiviCRM public pages in a responsive CMS theme (eg a bootstrap one) and then add some css for the labels - I typically position the labels above the input boxes (on form) and above the answers (on confirm and thank you) for small screen sizes.


I would use the CiviRules extension, you could structure it something like - if registered participant of 'X' event, send email of 'X' template.

With this you could just create an email template for each event within Civi with the links you would like them to access and it would automatically send to anyone who registers for the event.


We got this on one of the db upgrades. For us, it was due to few entries in civicrm_relationship table which were attached to permanently deleted contact ids. You can follow the below steps to complete the upgrade process.

Take a separate back up for civicrm_relationship table.

Check invalid entries using -
select id
from civicrm_relationship
where contact_id_a not in (select id from civicrm_contact) OR contact_id_b  not in (select id from civicrm_contact)

Delete these rows
delete from civicrm_relationship
where contact_id_a not in (select id from civicrm_contact) OR contact_id_b  not in (select id from civicrm_contact)

Complete the upgrade process. Hope that works.


What is the best approach for using CiviCRM as an app on mobile?

The combination of the two extensions CiviMobile (thanks @rahulbile) and Summary fields is very interesting.

The CiviMobile extension is poorly documented, but after a while I figured out that it uses profiles to choose which fields to display. Also different profiles for each contact type: Individual, Household and Organizations. It took me more time before I figured out that it used the restricted profile_ids 4, 5 and 6, which can be edited to add more fields.

Then I could also use some of the fields from Summary fields, to display relevant contribution informations as search result on the contact.


I do not know of anything that can be done via CiviCRM UI to address this, so I think you would be better to manipulate it after exporting.


In Create your own action you find a description for extending CiviRules with a custom action. The example action SoftDelete has the class CRM_CivirulesActions_Contact_SoftDelete should be placed in the file
 ../ext/org.civicoop.civirules/CRM/CivirulesActions/Contact/SoftDelete.php

It is also possible to add a custom action to your own extension. An example of such an extension can be found at https://github.com/CiviCooP/org.civicoop.wpcivirules . (But be aware old versions of CiviRules worked with managed entities (*.mgd.php) files. This still works but the latest version works with direct sql statements).


It pretty much means what it says and you should see a checkbox on the Membership tab to enable this.

Or it may mean that you are trying to offer 'auto renew' for Memberships but are incorrectly trying to achieve this via 'recurring contribution'.

I can't tell without know what your requirements are.


Contribution Status Updates, no more 'overdue'

Adding the contribution status itself is pretty easy. You can do that with Administer/System Settings/Option Groups, find the one for Contribution Status and click on 'options'. You will then get the possibility to add a value.

This is just adding a status, so I assume the settings of the status will be done manually. If you want to automate that you will have to develop a small extension that acts when a contribution is added or changed, and sets your status in relevant cases.

Am I making sense?


How can I find contacts with only 1 contribution during last 12 months?

Not sure how I would do that with a search, but in general you might want to use CiviRules for donor segmentation? Details can be found here:https://wiki.civicrm.org/confluence/display/CRMDOC/CiviRules+Cookbook with some examples.


Providing opt-out link when sending an email directly from a contacts record

is_opt_out isn't a link, it's the privacy preference checkbox on the contact record.
I don't believe the bulk mailing link tokens are available in this context, since you're not sending bulk mail.
But you can use the checksum token to include a link to a contact profile you set up. https://docs.civicrm.org/user/en/latest/common-workflows/tokens-and-mail-merge/#checksum


Deleted contacts considered duplicate in mailing

The release process means it takes a while from a PR being merged until it appears in a release.  You can find details of the process here.  The commit you mentioned will be in 5.35


User Sync error when new user registers on behalf of a business

When someone contributes on behalf of an organisation, the membership is applied to the organisation, not to the individual. By default, CiviCRM WordPress Member Sync (perhaps incorrectly) creates a user for the organisation and then applies the appropriate role based on the membership in question. You can override this behaviour (i.e. cancel creating the organisation user) by using the civi_wp_member_sync_auto_create_wp_user filter:

https://github.com/christianwach/civicrm-wp-member-sync/blob/master/civi-wp-ms-users.php#L603-L612


how do I create a new template on civicrm / mosaico

Thanks for this - it helped me out.

I believe the second part of your answer is no longer valid.

The new place to reference your template seems to be in: uk.co.vedaconsulting.mosaico/CRM/Mosaico/BAO/MosaicoTemplate.php.

Edit the findBaseTemplates() method to return another record with your new template's details and it should show up under the Mailings -> Mosaico Templates menu option in the New from base template: section


Thank-you letters WYSIWYG vs html source content

You can turn off html encoding for CKeditor through UI
Navigate to Administer >> Customize Data and Screens >> Display preferences
Scroll down until you see Configure CkEditor button. Click on it to view all the settings. Under Advance options add entities option as False(as shown in image) and save the form.

Note: You will need to clear your browser cache to reflect the changes(and CiviCRM caches).
If you want to turn off the ck-editor completely for whole site than you can switch to text area. You need to navigate it to CiviCRM >> Administer >> Customize Data and Screens >> Display preferences. Change value for Wysiwig Editor from ckeditor to text area.
HTH
Pradeep


Is "Total Paid" in a report really supposed to show Amount Paid plus fees?

This sounds like it could be a bug. Can you please edit your question to include what version of CiviCRM you are using and what report you are running.

Are you able to duplicate this result on the master demo site?


You can manually clear caches with civicrm_api3('AnyEntity', 'getfields', array('cache_clear' => 1)); (use any valid entity, it doesn't matter which).

However, if you are using the api to create tags, and this does not automatically clear the cached list of tags, I would consider it a bug. If you are able to reproduce it in the latest version please look in the issue tracker for an open bug report, and if there isn't one, please open one.


I have just checked the API call in Civi 4.4 installation and the getcount with the group parameter on Contact does not work.

Also the API call on GroupContact does not work either. What you could do is probably write a small extension which includes a getcount api for Group memberships.


You can create an API with civix generate:api. More information can be found under Add an API function in the Civix page of the Developer Guide.


Extra Decimal Places on Fuzion Token 'Latest Membership Fee'

Can you try applying the patch from here? If it worked please comment the PR your test result for it to get merged.


How to create a Drupal View of CiviCRM Activities with an edit link to the corresponding Webform?

There is no straight forward way to get the 'Edit Submission' link in the View of CiviCRM Activities. Below is a workaround where we extract the 'Edit Submission' link from activity details.

Prerequisites:

Views PHP module is installed
In your webform, you have enabled/ticked 'Include link to edit webform submission in activity details'

Steps:

In the View of CiviCRM Activities, add 'CiviCRM Activities: Details' as a field to the view and tick 'Exclude from display'
Add a new field 'Global: PHP' to the view, and paste the below content in Output code

<?php
preg_match_all('/<a href=\"([^\"]*)\">Edit Submission<\/a>/iU', $row->details, $match);
echo $match[0][0];
?>

The above code will get the edit submission link from the activity details using regular expression and will display the link in the view.

View Final Output:

Hope this helps.


Using CiviEvent Shopping Cart with Wordpress

It's Ok, it's early. I worked it out.

http://locahost:8080/civicrm/?page=CiviCRM&q=civicrm/event/view_cart


Error: Stripe.js token was not passed! Report this message to the site administrator" for Stripe extension

I have this problem also.
It's a known issue with version 1.9.1 You can view the Github thread here.
The developer says his latest commit may have  fixed the issue.


Set membership end date to today for cancelled status

You have to manually override the status to set a membership to Cancelled and that is when you set the End date to the value you want.

If you are doing this one record at a time either type in the date directly or Clear it then click on the calendar to see the current date  highlighted for easy selection.

If for some reason you are cancelling memberships via batch update, then include the end date in that profile.  Click on the X beside the date in the first line and then on the calendar.  The current date will be highlighted and you can select it, then copy it to all the memberships you are cancelling.

If you are still wondering why you can't set "Now" as the end date for the cancelled status, that may suit  your use case, but won't suit everyone.  If we receive a request to cancel a membership we set the end date to the day we received the request, even if we don't actually change the status in the database until some days later. (Our membership admin only works part time, so sometimes it could be a week before she is able to make that change.) As manual intervention is required to cancel the membership, manual intervention at the same time to set the end date makes sense to me.


I was looking for a way to validate the checksum at one point, too. Here's what I found:

CRM_Contact_BAO_Contact_Utils::validChecksum($cid, $_GET["cs"])

which takes a CiviCRM contact id ($cid) and compares it to the checksum in the URL and did the trick for me.

UPDATE:

It looks like the usage has changed slightly in core since I pulled the above out of there (although the above was still working for me). Below was taken from here:

    //check if this is a checksum authentication
$userChecksum = CRM_Utils_Request::retrieve('cs', 'String', $this);
if ($userChecksum) {
  //check for anonymous user.
  $validUser = CRM_Contact_BAO_Contact_Utils::validChecksum($tempID, $userChecksum);
  if ($validUser) {
    return $tempID;
  }
}


Is it okay to have simultaneous data import?

It should be okay if multiple users are not updating/uploaded same record type's same item at the same time.

Like for example if multiple users are importing a same contact record, that might cause an DB error possibly.


Link to User record, via View Contact -> Actions -> User Record gives Page Not Found (404). Is this a bug?

I just tested on a site. Clicking the link as described above i get sent to

user/2&cid=39941

and that page shows.

BUT

if instead I just click on the Contact ID / User ID |
39941  / 2 that sits just under Tags on the Contact Summary screen

I get sent to

user/2 and that sounds like it might work in your set up

Does your Summary Screen not show that? (ie I wonder why you are not using that rather than going via Actions which is an extra click)

I can't explain why the link with &cid=YYY is failing for you


How can I link contacts & activities in a report or export?

When I tried in the demo site, I did an Advanced Search->Display Results as Activities and filter by the field you want and search.

If you export the result and check either Export primary fields or Select fields for export, in the csv created will be the contact and activity information. You will see Activities in the lasts columns.

If you tried that and doesn't work it's posible that in your version you can't do that, but I doubt it.


access denied on member signup with civicrm for anonymous

The "event registration" link you give isn't the public-facing event registration page, which is why you're getting "Access Denied".  The page you're linking to is intended for staff to add event registrations on the back end.  The public-facing page will be: https://hebrewburialofnewhaven.org/civicrm/event/info?reset=1&id=1.  When I go, it says that online registration hasn't been enabled for this event.  You'll need to go to CiviCRM Events menu » Manage Events, then click Configure » Online Registration next to the test event.  Check the Allow Online Registration checkbox and save the event.

The error on the contribution page isn't as obvious to me - but if you didn't change the default permissions for CiviCRM, then it's a configuration issue on the contribution page itself.

If you still need help, questions like this are well-suited to chat: https://chat.civicrm.org, in either ~town-square or ~user-support channels.


Using the extension CiviVolunteer, assigning a volunteer to a company, not an event

Earlier this year, the CiviCRM community crowdfunded $30,000 to build CiviVolunteer 2.0, which includes the functionality you're describing.  See here: https://civicrm.org/blogs/ginkgofjg/civivolunteer-20-whats-in-the-works.  The beta version should be out in 4-5 weeks.

For now, the workaround is to create a bogus event to attach volunteers to.


Missing input parameters error on opt-out form

The error seems like it might be happening because one of the jid, qid, h params  are not present.

As a first step - I'd make sure that the opt out was working properly with a test contact (send them an email and opt out via the link and confirm it's working).

Then if that is working I'd check your server logs - it's possibly something hitting the url without the correct params (some sort of automated crawl etc).

If you wanted to you could try editing the file /home/user/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Utils/Request.php  on line 31 and output further information about the request. Definitely back up that file first!


Is the webform_civicrm module enabled as well as being installed?  Go to your Modules page in Drupal (/admin/modules) and check it is enabled.

Also trying flushing the Drupal caches (/admin/config/development/performance)


user6930, Welcome to SE world.

Unfortunately this is a know issue in CiviCRM when subsequent recurring payment is recorded in CiviCRM which has tax. It would be good if you add some resource so that it gets fixed in core.

Alternate method is to turn off sales tax or do a contribution(batch) update to update the amount from $36 to 30

HTH

Pradeep


Net amount not calculating for event registration

Welcome!  Thanks for reporting that.  As you noted, in 5.6 the net amount is not displayed on those forms now since it was being automatically calculated anyway.  I have recreated your issue and it seems to be related to contributions generally rather than specifically related to events.  The net amount is being calculated correctly when the contribution is first created but edits to the fee amount are not causing re-calculation of the net amount.  I have created an issue here: https://lab.civicrm.org/dev/core/issues/552


Refresh page after closing modal opened by .crm-popup outside of CiviCRM

If you want the entire page to refresh during a popup form submission, then essentially you want to disable the ajax submit. You can do so in your _pre hook by writing:

$form->preventAjaxSubmit();


It looks like you have may not have set a command parameter in the Scheduled Job (but maybe you're adding it when you run the job via URL?).  Do you have geocoding=1 in your command parameters for "Geocode and Parse Addresses"?

See Managing Scheduled Jobs from the Civi wiki for reference (2nd row of the table).


"Sold out" error message when registering event with PayPal payment (event is not full though)

The error is because the max participant limit is reached for the price option.

You probably need to check the Max Participant limit in your Price set/field


Display menu and pages of a newly created extension

Whenever you modify a menu xml file you must clear CiviCRM's menu cache.

Go to Administer > System Settings > Cleanup Caches & Update Paths and click the Cleanup Caches button.


How long does sourceforge keep older versions / Where can I download an old version?

EDIT: as Coleman pointed out on the forum, SourceForge downloads seem to work sometimes. I just retried 4.1.6 and it worked.

In theory, the upgrade documentation says that we can upgrade from CiviCRM 2.2 to 4.7. I have doubts on that, however upgrading from 4.0 to 4.7 should work. A few years ago, I managed to run upgrades from CiviCRM 1.7 to 2.0, then 2.0 to 2.1, 2.1 to 4.0. So in your case, I would recommend 3.1 to 4.0 (or even 4.1?), then to 4.7.

The are archives available up to CiviCRM 4.1 if you use the following URL:

CiviCRM 4.1:

https://download.civicrm.org/civicrm-4.1.6-drupal.tar.gz
https://download.civicrm.org/civicrm-4.1.6-drupal6.tar.gz
https://download.civicrm.org/civicrm-4.1.6-joomla.tar.gz  (etc)

CiviCRM 4.2:

https://download.civicrm.org/civicrm-4.2.19-drupal.tar.gz
https://download.civicrm.org/civicrm-4.2.19-drupal6.tar.gz
https://download.civicrm.org/civicrm-4.2.19-joomla.tar.gz
https://download.civicrm.org/civicrm-4.2.19-wordpress.tar.gz

For CiviCRM 3.0 to 3.3, you will have to use SVN. It's not that bad, although I don't know if it will run on a current version of PHP 5.6. It might work on PHP 5.3.

svn checkout http://svn.civicrm.org/civicrm/branches/v3.4 civicrm-3.4
cd civicrm
cd xml
php GenCode.php

As you have probably noticed the version number in the above URL (v3.4), you can repeat the same process for versions v3.3, v3.2 and so on.

It doesn't help that the SVN virtual-machine of CiviCRM has been having issues lately (full disk). I cleared up some space, but the issue will only be resolved for good next week (another service needs to be moved off that VM).

Reference: Installing CiviCRM from subversion

Reminder: CiviCRM 3.4 is the same as CiviCRM 4.0, but 3.4 is for Drupal 6 and 4.0 is for Drupal 7.


Getting CiviCRM Security Upgrade Needed warning after upgrade to 5.23.3

Try clearing CiviCRM cache, if you still get same issue than try doing whats mentioned in  System Status reports incorrect version number after update stall post


Is it possible to prevent a certain role from changing the activity status in a case activity?

Perhaps enhance core to provide a 'CiviCRM: edit activities' permission. I don't think it would be that difficult. We're currently adding permissions based on financial types of objects in contributions (like line items, premiums, etc) and it isn't that bad. With an edit permission you don't have to worry about reports, etc.


It's not currently supported... However, I'm running the patch from https://issues.civicrm.org/jira/browse/CRM-15861 successfully on a client site.  That should do what you want!


Special Characters are not Managed in CSV Export

As @Chris Burgess said it depends on the software you're using the CSV with, but i'll leave a preemptive workaround for MS Excel since we do this pretty often.

This happens with Excel because CiviCRM exports the data in UTF-8 encoding and Excel tries to open it using ANSI by default. If you download your CSV, open and new workbook, and import your data into it as follows, the characters will display correctly:

Save the exported file as a csv
Open Excel
Import the data using Data-->Import External Data--> Import Data (may vary slightly depending on your version of excel, can be Data-->Get External Data-->From Text button)
Select the file type of "csv" and browse to your file
In the import wizard change the    File_Origin to "65001 UTF"
Change the Delimiter to comma Select where to import to and Finish

A bit of an annoying workaround but I hope this is helpful!


on logging into civi we are getting the following error message, can anyone direct me as to a solution?

You'll need database access and grant all permissions to the user 'pascrm49_drupa86'@'localhost' for the 'pascrm49_civicrm' database.
Something like
grant all on 'pascrm49_civicrm' to 'pascrm49_drupa86'@'localhost';
Theres probably an official direction somewhere but this is just to get you out of a bind if your civicrm install is broken.


Is there a more elegant way to handling contribution pages that have ended?

This module might be what you need

The extension allows a default contribution page to be configured (by domain), and blocks disabling or deleting of this page. Browsers accessing a disabled contribution page are redirected to the default page.

or, now i reread your post :-), could be a good place to add a new feature since i think you are saying 'my pages are not disabled, they are just past their use-by-date'


Inbound Email - Formatting? (emails with HTLM code are ignored)

It's tricky to get html import right, both because the html we use in the web world and the one in emails is not quite the same (email html is stuck 10 years in the past)
... and because it's tricky to get it safe. being sure that an attacker doesn't use the email as a vector to inject javascript and other dangerous things is complex.

so going full html is probably not going to happen without significant investments, but you mentioned the issue of a single long line.

This one is probably easier to handle in a safe and satisfying way. Do you, or does someone in your team have some dev skills? it wouldn't be too hard to alter the display or the processing to inject  where they are new lines.


database upgrade script failing: Call to undefined method CRM_Upgrade_Incremental_php_FourOne::getMajorMinor()

After some chat on MM we identified that the installation had a file CRM/Upgrade/Incremental/FourOne.php   That file has been removed from the current release but the usual Joomla upgrade process extracts the CiviCRM zip file into the existing code directories rather than removing them first.  This is fine for new and changed files but does not delete files no longer in the released code.
The Joomla upgrade documentation notes that sometimes it is necessary to uninstall and reinstall.  This removes all the old files before installing the new ones.  This should not affect the database but note @minbori's comment above that permissions needed to be reset afterwards. (It would be useful if someone could verify what happens to permissions and add a note to the documentation accordingly.)
Alternatively for those with filesystem access the administrator/components/com_civicrm/civicrm can be deleted and the installation zip file manually extracted to put the new files in place. (See @demerit's comment above.)


How to create and fetch custom URL for advanced search?

[SOLVED]

Solution is over here:

http://brunovincent.net/data/how-to-add-custom-search-url-links-to-civi-crm-advanced-search/


How to send a thank to a recipient of a soft credit

I've been writing extensions these past few weeks to address this very scenario, but I haven't finished them completely and haven't advertised their existence yet - in part because of improvements to CiviCRM that aren't in the released version yet.

Ready Now

My Soft Credit Tokens extension adds some name tokens for the soft creditee.  Note that I've only tested this with CiviRules, but should work in the scenario you mention.

There's also Send to Soft Creditee which creates a CiviRules action of the same name, but I don't recommend its use as more than a stopgap for more than a couple of weeks (see below).

I actually have several extensions to improve soft credits; several seem relevant to your situation.

Ready Soon

Instead of the "Send to Soft Creditee" extension, in CiviCRM 5.23+ I've added support for firing a hook on Soft Credit creation/update.  I also added support for "soft credit created/edited/deleted" in CiviRules 5.12+.  Both should be released in early March 2020.  Once both are released, the "Send to Soft Creditee" extension will be obsolete.  You can also get this functionality today by applying the patch linked here and downloading the "master" branch of CiviRules.

Currently, all these tokens don't actually operate on the contribution selected, but on the most recent contribution of the contact who made the donation.  This is due to current limitations in how custom (non-contact) tokens work, but Matt Wire is actively working on a solution.  I work around this by sending the thank-you out immediately via CiviRules.


Tracking completed transactions on CiviCRM in Google Analytics

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


Why do reminders not go out to some of the contacts who should receive them

One reason could be that an existing Reminder had its criteria changed!
EG ...
X was sent a scheduled reminder for reminder no 14 on 23 Jan 2015 and the entry relates to his membership end date being 31 Dec 2015.

At the time the reminder was sent scheduled reminder no 14 was configured to send a mail 23 days after the expiry date (then 31 Dec 2014). On 25 May the reminder was changed to send out 7 days before expiry date.

The reference_date column was not added until 28 August and at that point the current end_date was stored for the reference date. There was some calculation that went on regarding this but to the extent that it was correct in general terms, it was messed up by this reminder's history.


Smart group cache not updating with timeout of 0

With a timeout setting of 0 for the smart group cache, Civi was none-the-less working with a timeout of 5 minutes. When a contact is added, clearContactCaches() is called which does call CRM_Contact_BAO_GroupContactCache::remove(). However smart groups that have not timed out will not be cleared.

To fix my issue I added to clearContactCaches() a call to clear the specific group that might be used immediately, ie:
CRM_Contact_BAO_GroupContactCache::remove(1234);

I also found a bug in GroupContactCache.php in 4.6.18, reported here:
https://issues.civicrm.org/jira/browse/CRM-19005


Trying to Set Up CiviVolunteer and Getting Strange Results

welcome to the civiverse!

Try clearing caches and setting your extension path and resource url. Those are the most common source of error regarding extensions.

If that doesn't work post back!


Recommended cron email sending rate for Mosaico mailings?

What I have experienced is that if a larger mailing fails nothing shows as delivered. It never starts. To address this I throttle the number of mailings sent on each cron run. The number can be effected by a few things such as size of the mailing, available memory, PHP memory limit, etc. If you host will allow it I would increase the PHP memory limit first. Then work on a reasonable amount of messages sent per batch.

In most cases I increase the frequency of the cron runs. For Example:

With a mailing that has 1000 recipients and we throttle the mailing to 250 per run then set the cron job to run every 5 minutes we can get the job done in 20 minutes.

Most of the Mosaico mailing we are doing are larger newsletters that are not time critical so sending multiple smaller batches works fine and insures delivery.

Hope this helps


How to load the definition of a case type with the CaseType API

It's probably actually easiest to look at the code. CRM_Case_BAO_CaseType::convertDefinitionToXML() gives the list of array elements to set, e.g.

$definition = array(
  'activityTypes' => array(
    'key1' => 'value1',
    'key2' => 'value2',
  ),

  'statuses' => array(
    'blah1',
    'blah2',
  ),
// etc...
);


How to remove an old email link from an event page

Thank you for your help.
I have now fixed the problem- it was hiding on a profile page for conference registrants in the advanced settings section at the bottom of the page (which I had missed!)