There are several things happening on the dashboard, so you'll need to dig further into this yourself to find the real underlying issue. Here are some things which could trigger symptoms like what you're describing.

Database warmup

This is the most common cause of slow dashboards IMO, but it's dependent on your setup; see note re Timeouts below.

Your DB engine keeps frequently used data in memory. When CiviCRM isn't being actively used overnight, that information will be replaced in memory by other data, and will be read from disk. This is slower. (Nightly DB backups frequently push active daily data from memory, as does a changed traffic profile when your staff knock off.)

We have a testing server which hosts multiple WIP databases. It mirrors your description; starting work on Site A will incur a few seconds (or longer) "warm-up" time. This suggests that the server is overloaded (for production use!).

A workaround is to log into the site earlier, before your morning call / coffee brew / whatever. If we know we're working on example.com and example.org today, we can drush uli and visit /civicrm on both sites before we kick off for the day. Moving a delay can make it disappear :)

The ideal solution is to make more memory available to MySQL. Buying memory is probably cheaper than the (admin, staffing) cost of dealing with insufficient memory. :)

Timeouts

If reproducible, a specific five minute time as seen in your screenshot suggests you're hitting a timeout. This is compatible with the next answer, provided that you have a slow dashboard report which takes more than five minutes, so you reliably hit that timeout.

You request the CiviCRM dashboard
CiviCRM internally requests a report
Report spins its wheels for (at least) five minutes
CiviCRM stops waiting and serves you the dashboard minus that report.

Observing a predictable delay (=timeout) then a successful response from the server (as opposed to a predictable delay followed by error message from server, or a predictable delay then error message from the browser) indicates that the timeout is happening internally to CiviCRM.

A five minute timeout could be configured at different layers, in your webserver (eg PHP max_execution_time, apache TimeOut) or in CiviCRM codebase (eg cURL's CURLOPT_TIMEOUT). You don't really want to change the timeout, you want to speed up that process so it doesn't hit the timeout!

Dashboard reports

The dashboard is user-customisable, so the reports you choose to show there will affect the time it takes to display. Because the dashboard contents are delivered as a single page to the admin, you can't see which report is fast or slow. Disabling some reports, or observing the internal requests made from CiviCRM (by watching your weblogs) might allow you to see which reports add the load time to the dashboard.

To identify these dashboard report loads in the webserver logs, look for POST requests to /civicrm/ajax/dashboard immediately before your GET request for /civicrm/dashboard?reset=1 is completed. Timing on those requests will indicate if they are the delay factor.

Check MySQL activity too - I use mytop, which is just MySQL's SHOW FULL PROCESSLIST as a command. If you see long-running queries generating reports, you can balance whether to improve the report, remove it from your dashboard, or accept that it's worth the wait.

Reports using memberships / smart groups

If dashboard reports include smart groups or memberships, remember that memberships get updated daily (by cron), and that smart group caching is only for a limited time. Such reports would need to be regenerated the first time they are run after midnight. CiviCRM includes functionality to schedule report generation, so you could keep your contact DB warmed up (or on the boil!) by scheduling a report to display before you start work, or perhaps by embedding the same dashboard reports on a public screen in your office :)

URL / webserver configuration

CiviCRM makes internal requests while delivering the dashboard as well. Slow performance here could be indicative of a misconfiguration, eg:

CiviCRM is unable to communicate with the local site
CiviCRM is unable to communicate with CiviCRM.org infrastructure
DNS on the webserver is slow or incorrectly configured

Issues with these should trigger warnings on the admin screen which you would likely have mentioned, but it's worth checking that too. These warnings can be disabled, which might work to hide the symptoms.

Requests to CiviCRM.org

As above - CiviCRM communicates with CiviCRM.org while loading the dashboard. This functionality can be disabled (can't it?), but if doing so was working but slow or slow to return an error, you'd see a delay in rendering the dashboard also.


open source for call center compatible with CiviCRM

According to Alternativeto.net, there are no open source alternatives to Callhub.  Arguably Asterisk VoIP is an alternative, but you would have to add a lot of software on top of it.

Regardless - while Callhub has CiviCRM integration, there are no alternatives that already have CiviCRM integration.  You would have to create it yourself.


How to add custom fields to membership report display columns?

After reading your comments, I have a new answer.  Please check the custom field in question and ensure that the "Searchable?" checkbox is checked.


I would say it's your smart groups causing the problem. They get recalculated a lot and this can use a lot of RAM.

Are you sure MySQL is running out of memory, rather than getting deadlocks? Deadlocks are also a problem that can occur when you are using a lot of smart groups.

I would recommend upgrading the RAM anyway, because it is bound to make everything smoother. 1GB is very small. You may find it fixes your problem instantly, and then the money is well spent. But if that doesn't help, or you get other MySQL-related problems, I would suggest trying to cut down on smart groups if you can.


I have temporarily solved it by making a change to the core CRM_Contribute_Form_Task_Invoice to use my function for invoice generation if the class I use can be found. Temporary fix for the customer with their current version.

What I am planning on doing as a core PR is taking out the invoiceId generation in CRM_Contribute_Form_Task_Invoice and replace it with an API call: Invoice Generate. That means anyone who wants to customize it can use the apiWrapper hook to do so. Does that make sense?


Confirmation email - providing a WYSIWYG so users can add HTML-ified content?

You can put basic HTML in the text box you have pictured above. Bold  works for email clients. The majority of email clients don't support every type of HTML content you see on the web. Web browsers are able to display scripts, animations, and complex navigation menus, while your typical email inbox isn't built to handle this type of content.

Safe to use for most email clients:
static, table-based layouts

HTML tables and nested tables

template width of 600px-800px

simple, inline CSS

web-safe fonts


What can I do to fix my database that has been partially upgraded?

This is a tricky one to resolve yourself. You basically need to identify whereabouts in the upgrade it failed. For example it might have done all the tasks for a particular point version & failed afterwards, or it might have run some sql & not completed.

If you look in the db the civicrm_domain table has a field called version. Once you know where it got to you can go through the sql statements in that version's upgrade & figure out which ones it did & didn't complete - eg.

https://github.com/fuzionnz/civicrm-core/blob/4.6/CRM/Upgrade/Incremental/sql/4.6.alpha1.mysql.tpl

There are also php functions so you need to evaluate those too
https://github.com/fuzionnz/civicrm-core/tree/4.6/CRM/Upgrade/Incremental/php

Once you know where it fell over you can evaluate what needs to be applied to get it to the next point version. Once you have done all the things the upgrade script would have done to get to the next point version you can alter the value in civicrm_domain.version to the next point version & remove the upgrade & then start the script running again


How to bootstrap CiviCRM with admin permissions in a Wordpress environment?

If wp-cli is an option, it takes a --user option, similarly to drush.

If that's not an option, looking at the wp-cli source code (here) suggests that wp_set_current_user() will do the trick.


Unable to Import, edit certain records and edit Group settings: DB Error: constraint violation

It seems you have some entries remaining in civicrm_group_contact which point to the deleted civicrm_group entry?

You can confirm this with a query to look for group contact entries which point to a missing group.

-- Show contacts who belong to a group that doesn't exist.
SELECT *
  FROM civicrm_group_contact
 WHERE group_id NOT IN (SELECT id FROM civicrm_group);

If entries are found with that query, you can clear them out (or update them to point to the new group, or export those contact IDs, or ...).

-- Standard disclaimers apply; back up your DB before doing this!
DELETE
  FROM civicrm_group_contact
 WHERE group_id NOT IN (SELECT id FROM civicrm_group);

If updating, you'll want to avoid creating duplicate entries by reassigning group_id without checking for existing group additions.


How can CiviCRM manage and deploy configuration?

CiviCRM Features looked like it had promise:
https://www.drupal.org/project/features_civicrm

I spoke to the former maintainer, Tim Mallezie, about this a while ago. He was very helpful. The module was proving hard to maintain, as each entity in CiviCRM required it's own handler (perhaps this is something CiviCRM Entity could help with); and the overhead was proving too much to be worth continuing development.

At the time Tim noted that:

  ...we now use the CiviCRM API in custom modules with update hooks to deploy CiviCRM configuration.


Civi 5.x not recognizing PHP 7.1 in Drush

That sounds like your command line version of php is different to the one being used by your webserver.

See eg https://drupal.stackexchange.com/questions/44967/the-php-version-is-not-correctly-detected


I have tested this and have duplicated the WSOD error.  The error I get in the hhvm log is Fatal error: Cannot access private property Civi\\Core\\Transaction\\Frame::$state  As I am not that familar with HHVM I cannot take it much further.

Jeremy, do you get the same issue with Drupal and CiviCRM?

I have been satisfied with PHP-FPM performance, so while I hate to give things up, that may be the quickest path to getting this to work.


Create a Login page for wordpress users to access civicrm but not wordpress functionality

There are many plugins that do front-end login forms.  I have been using Login with Ajax  This will create a front end form and allow redirects.   You can also leverage the login widget in the Members Plugin and pair that with Peter's Login redirect


Has select always included the label on drop down lists?

Yes that was one of the many changes in 5.31 related to screen readers and buttons and such. https://github.com/civicrm/civicrm-core/pull/17675
It also inadvertently made all my contacts appear to be from Afghanistan.


How to make status always 'Completed' for activities added to a case?

Might be easiest to update the database is_default field. Works for me on a 4.6 site:

update civicrm_option_value set is_default=0 where option_group_id=26 and name='Scheduled';
update civicrm_option_value set is_default=1 where option_group_id=26 and name='Completed';

You may need to change the 26 but it's a stock option group. To confirm first can do:

select id from civicrm_option_group where name='activity_status';

or go to admin - system settings - option groups and see what the id in the link is. Ideally you'd be able to set default value on that screen but it doesn't seem to offer it.


How can I suppress parts of the date in a report

I would just revert to either to DateTime() or date('D', strtotime($dateField))


Placeholders instead of labels in contribution forms

Ah - no there is not - those fields are grabbed from CiviCRM - as is :-(

So you can't edit them via the Webform tab; If I was heading this way I'd look at a drupal hook_form_alter


There should be a small arrow there:

If I had to hazard a guess, I'd say your "CiviCRM Resource URL" may not be set correctly. Check in Administer > System Settings > Resource URLs.

If that URL is correct, check to see if this file exists on your server:
/sites/all/modules/civicrm/packages/jquery/css/images/arrow.png


Gift Aid extensions compatible with 5.6.0?

Andy,

If it works for 5.1.2 than definitely it should work for 5.6 since there is no major changes in financial bit of code cleanup and fixes. However its a good practice to test on the staging environment before going live.

HTH

Pradeep


Cron job not working after CIVICRM update (Joomla 3.7.0 and CIVICRM

I feel like the first thing to do is try to isolate the issue (or clarify it): did civicrm work before upgrading to Joomla 3.7, it was it civicrm that you had upgraded (what was the exact upgrade that broke the cron jobs).

It's strange because those errors look more like a session cache issue.

Did you try the "run all scheduled jobs" link from the jobs page?

Are you executing with a user that had the needed permissions?


Member only page-login using civicrm database

Understanding the parts

There are a few parts to this question - your CRM (CiviCRM, which has your membership list), and your CMS (Drupal, Joomla or WordPress, which has your website pages). Your CMS has Users while your CRM has Contacts. These may match, but you can also have a Contact without a matching User. The CMS controls access to Pages. In order to access restricted pages, the User generally needs to log into the CMS first.

So there are some "dots to join". In your case,

All your Member Contacts will need a matching User in the CMS
The CMS needs to restrict access for some Pages to some Users
There are access criteria for the above (User must connect to Contact which has current Membership)

How you implement this depends on the CMS you're using, and what makes most sense for you. (Including details like the CMS in your question will inform the answers you get.)

Drupal

There are wiki docs on how to sync Contacts to Users. This page looks a bit old - definitely test this process on a development site.

In Drupal there are multiple ways to slice and dice the content access situation ... sorry! Some options would be Content Access (suited for smaller sites where you have one or two restricted pages), Node View Permissions (restrict by member-only content type), or reviewing a longer list of content access options.

(You could also implement your own access restriction using CiviCRM checksums alone, but I think I've given you enough new questions already!)

Other CMS

This answer doesn't specify how to do this for other CMS (nor does it give specific instructions for Drupal, just a few options). If you can help improve this answer, you're welcome to edit it wiki style, OR add your own solutions for Joomla / WordPress.


Connecting Civicrm to Quickbooks classes / subclasses

We use Civi & QuickBooks. Our QBs is only used for accounting. If we need to see donation details, we look in Civi. We do not record contribution detail in Quickbooks. We do not see a need to have that data stored in two places.

We just record the deposit in QBs. We use Class in QB for our Functional Expense allocations (Program, Restricted, and Unrestricted). Note, since most donations are not related to Functional Expense allocations (other than Program Income), we have created 2 additional Classes in QBs--Unrestricted and Restricted. So most deposits are recorded using these 2 QB Classes. We use Customer Job in QB for Line Item detail from Civi (General Fund, Building Fund, Scholarship). We do not have any donors entered as a Customer in QB.

We have our payment options in Civi to match our payment processor's deposit schedule. ACH, Visa/Mastercard, Discover. That way we can pull Line Item reports by Payment Type and date and they match our Processor Deposits. Then we record that deposit in QB with Class info (Program...) and Customer Job (We sum the Line Item Types from Civi and have one line on the Deposit entry for General Fund, Building Fund, etc).

FYI, we use the same Class and Customer Job options when recording Expenses in QBs. This allows us to run reports by Class to see Functional Expense (for expenses we do have QB Classes for Management & Fundraising). And reports by Customer Job to see Campaigns-showing income and expense for Capital Campaign.


How do I edit the contribution confirmation page

I think you could probably manage it with Adminster >> Customise Data and Screens >> Word Replacements if you chose a sufficiently long phrase to ensure it doesn't affect anything elsewhere.


How to automatically generate DAO classes for my DB tables

Installing civix and generating Extension using civix is the correct way you can find more details in the below link
http://wiki.civicrm.org/confluence/display/CRMDOC/Create+a+Module+Extension

Or

For shortcut create an hook_civicrm_install and use the statement
 $sql = "CREATE TABLE ";
 $dao = CRM_Core_DAO::executeQuery( $sql );

The above code will do the trick - but always try to use the first method using civix


Renewal Link Results In Too Many Redirects Error

"Too many redirects" is almost always caused by URL rewrites.  Your web server software (e.g. Apache, nginx) handles URL rewrites, so it's most likely that your problem lies in the configuration of that software, not CiviCRM.  To my knowledge, CiviCRM doesn't generate a redirect on any links other than click-through links.

To resolve this, I would take the following two steps:

Press "F12" to open your Developer Tools (in Chrome or Firefox; Safari's are lacking).  Go to the "Network" tab.
Trigger the "too many redirects" error.  You should see a bunch of network requests.  Note the URL, and look for any patterns.  A common pattern is:

http://my.org/civicrm/

http://my.org/civicrm/civicrm

http://my.org/civicrm/civicrm/civicrm

etc.

Find the "rewrites" section of your web server configuration.  Look for the pattern that matches the URLs you found on your Network tab.  Tweak that rewrite rule and restart your web server software.


using api.getoptions to retrieve all options for a field (even disabled)

Looks like you found a bug. Here is a fix:

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

Could you please review it and leave feedback on github to speed along the merge process?


Which Backdrop themes allow viewing CiviCRM inline fields without scrolling?

I haven't seen one. Usually in cases like this I just make changes to the theme myself to account for things like this. Themes often times only take Drupal, its core modules, and some of the major add-ons into consideration for its theme. So when you use something else, like CiviCRM, you have to make changes yourself for usability.


Best way to record court appointed community service?

it might be easier to log these as activities.  you can create new activity types, eg community service.

if you need a more complete overview of the activities spent around a volunteer,eg not only being able to see the time they spent, but also the monitoring and helping tasks of others, or record court events, try civicase. more complete, but more complex to set up


Add large amounts of custom data to contacts

You need to configure one or more Custom Data Sets to contain the information you wish to maintain. Generally you would want to split the information across data sets to reflect any natural categorization, for instance having datasets for 'Wiki Report', 'Extensions', and 'Statistics'.

If you are planning on using the API to load the data, you don't necessarily need profiles (unless you anticipate also doing some manual entry). Profiles can also be used for display, but (if on Drupal) you may find views much more useful for display.

(datasets maintain the actual definition and storage of custom fields; profiles generally provide forms for the entry of the custom field data, or for display of information.)

Using the API is fairly straightforward so you shouldn't have any problems with that I don't think.  Using the API explorer (yoursite/civicrm/api/explorer) is a hugely useful tool for figuring out the proper call methods.


Contributions with Frozen Financial Type Field

Are they related to membership or event fees? Maybe coming from here:

https://github.com/civicrm/civicrm-core/blob/5.15.1/CRM/Contribute/Form/Contribution.php#L825


The http://Attentive.ly CiviCRM integration automatically returns the social media accounts that match with over a hundred social media sites including Twitter, LinkedIn, Facebook, Google+, Klout, etc., as well as social listening on relevant recent posts to Twitter and Facebook. It does a lot more to help improve your organization's online engagement with top influencers (meaning those that have a high Klout score). The service is not free, and works best for organizations that have at least 25,000 - 50,000 contacts. See https://civicrm.org/extensions/attentively-integration.


Under what circumstances is API joining available?

The API is largely metadata-driven, and whether an API field is joinable is usually determined by the data returned by that entity's getfields API action.  If you look in <civiroot>/templates/CRM/Admin/Page/APIExplorer.js at the renderJoinSelector() function you'll see the logic.

However, right at the top of that function there's a reference to the const NO_JOINS.  Right up at the top of that file, you'll see:

// The following apis do not use Api3SelectQuery so do not support advanced features like joins or OR
NO_JOINS = ['Contact', 'Contribution', 'Pledge', 'Participant'],

These sorts of quirky APIs are exactly the sort of thing that APIv4 is intended to eliminate.  It's no coincidence that the Participant entity is the first one slated to be released under APIv4.  It's quirky and it shouldn't be, but changing the behavior would break the API contract not to change on some extension author.


CiviCRM issue when subscribing on behalf of an organisation with 4.7.3 and 4.7.4 releases

I changed it to be 'optional' and it worked for me. http://dmaster.demo.civicrm.org/civicrm/contact/view?reset=1&cid=225

Can you confirm this is the issue?

I  feel like this has come up recently but don't have time to search SE or JIRA - can you try and track down if an issue exists, or if one has been 'fixed' recently, then reopen it?


Migrating Drupal Users and CiviCRM Data to New Website

Glad it worked! CiviCRM uses the civicrm_uf_match table to store the Drupal ID in the column uf_id (user framework id) and also the CiviCRM contact_id.


Neither of those are doable with a profile without writing an extension.  However, both should be quite doable using Caldera Forms with the CiviCRM integration plugin.  I suspect you could also use Contact Form 7 with the Form Processor plugin to get similar results.


You can achieve this through following ways:

Create ACL rule through UI to View Contact of specific group.
Create an extension and use pageRun hook to alter the $rows send to smarty template.
Create an extension and use aclWhereClause hook to restrict contacts to show.
Probably not sure apiWrappers or selectWhereClause might also be used.

Note: Using #1 and #3 will be affected on all pages/forms/reports.

HTH

Pradeep


Great idea. Unfortunately there is currently no way to do this.

Personal campaign pages don't even store the date that they were created.

Enabling database-level logging would allow you to store this type of data, but you would need to build a custom search or report to see it.

I agree this would be a great feature though!


I see 2 ways:

Do Use Scheduled Reminders (Administer - Communication - Scheduled Reminders), If you choose Memberships as Entity you can use Membership tokens in the email being sent. You can limit the recipients per group. So if you want to send it one-time, just search for the people you want to send it to, place them in a group and create a reminder with just that group. Let the reminder be sent and remove the reminder.
Use PDF invoices (enable via Administer - CiviContribute -> CiviContribute Component Settings). You can then search Contributions and send individual pdf invoices per email to the results of your searches.


I just create a page called 'Contribute' or something like that, then either use the shortcode button the CiviCRM supplies in the page/post editing interface as Kevin mentioned above. Or, depending on how you like to build your Wordpress site, use Wordpress's do_shortcode method straight in your page template


What sort of fix is needed to make Drupal Search work correctly on a civicrm page such as an Event or Contribution page

This can be reproduced on CiviCRM.org, which has both a search block and contribute pages.

Go to https://civicrm.org/civicrm/contribute/transact?reset=1&id=1&action=preview
Type "ponies" in the Drupal search box (top right)
Hit ENTER and see fairly misleading error messages.

I haven't looked into it in depth, but I'd guess something like this:

Drupal's Block Search form uses the current page callback to submit its form to.
CiviCRM intercepts form submissions to /civicrm/*, but can't handle form submissions in unexpected formats, so doesn't know what to do.
Yellow Page of Malaise. (A play on WSoD here.)

My suggested dodgy workarounds are:

Add a form alter hook in CiviCRM, which identifies forms you use throughout the site and direct the form submit URLs elsewhere if the path contains /civicrm, OR
Do not show those blocks on those paths at all.

My wild clever idea solution is:

Make CiviCRM return Fatal errors using Drupal page callback rather than bombing out to the YPoM. This might permit Drupal to then do whatever redirect happens as part of the normal flow for Drupal forms.

My fantasy perfect solution is:

Destroy all HTML QuickForm.

This last is happening, albeit slowly. Please donate to CiviCRM, avoid implementing new functionality in QuickForm, and support any efforts to remove QuickForm or improve the codebase which you are able to.


Registrant and Contribution status remains "Partially Paid" even though amount owed was paid off

I think this may be resolved in 4.7 based on what I read in JIRA (there's a variety of tickets on payments topic so it's hard to tell whether one of them will solve this per se but it seems so). I'll test 4.7 and will come back to this topic if it's not solved. For now, I'll mark this as the answer.


Send e-mail to multiple contacts as as separate mails

As the previous answer states correctly, CiviCRM does in fact send individual emails to each contact you selected. The simplest way to know this is thats the only way tokens would work properly. If everyone was just to'd in one big list they'd all see one set of tokens (mail merge fields) which would not be correct.

If you wish to add others then you can using the BCC and CC fields but they'll get copied into every single email i.e. if 50 contacts are emailed then they'll get copied into those 50 emails.


Adding contributions doesn't work for certain currencies

This was curious, so I tracked it down.

Apparently the list of valid currencies predates the civicrm_currency table.  So right now the valid currencies are hardcoded - you can see that in <civiroot>/CRM/Core/Pseudoconstant.php around line 1077 - the currencyCode() function.

As a quick workaround, you could add your currency to the list.  However, the correct solution would be to modify this function to return the result of SELECT name FROM civicrm_currency.


Can I set up PayPal integration so all purchases and donor information are automatically recorded on CiviCRM?

Welcome to SE. You can integrate PayPal with CiviCRM - See Payment Processors in the documentation (https://docs.civicrm.org/user/en/latest/contributions/payment-processors/). This will mean you can take payment for any CiviCRM contributions via PayPal and it will be recorded against the contact. This includes memberships, events and donations and you can link this from a web page. However, if you have existing purchases via some other package on your website using PayPal, it won't show these. Just those originating in CiviCRM.


Display nth payment of a recurring series?

I was able to do this with a Drupal View and adding the Views Aggregator Plus module.
I created a view using Contributions. The format was Table with Aggregation Options.
I added the  Filter Criteria and Fields that I wanted to display.
In the Format:Settings--

I "grouped and compressed" the Recurring Id field
"Count" the Contribution ID field (this column is labeled # of Payments)

So my view displays the Recurring Id with the # of Payments


Answering in case this is helpful.  The problem was configuration (not informed of PayPal email change).  Would have been very quickly solved if something was logged vs just discarding the IPN.


I had the same issue once, I changed the value for "PrevNext Cache" from "Default(Auto-detect)" to "SQL" under Administer > System Settings > Misc. This fixed the issue


Restricting access to a group of contacts

No, ACLs are about including groups you can see, not about excluding the ones you can't.

What we did for a case like you was to automatically add any new contact into a "visible by everyone" group and remove it if/when they are added to the "VIP" group. So what you do with smartgroups, but because we add/remove directly, it was faster as no need to wait for the cache to rebuild. It was a very long time ago, so probably nothing I can share anymore, but with two hooks in a small extension, it should be possible

Have a look at civirules, it might even be possible to do it without code.


Groups and sub-groups display broken after upgrade to 4.7.10

I believe you're referring to CRM-19096 and/or CRM-19219, and possibly CRM-19272.

The first two are fixed with CiviCRM 4.7.11, which is officially released on September 7th, 2016.  The third one has a fix available but hasn't been scheduled into a release.

If you can't wait, and you know how to patch your CiviCRM, you can get the fixes from Github; if you don't know how, wait for CiviCRM 4.7.11, it's only a week away!


How do I configure the duration of the checksum links?

The setting you're looking for is here: Administer menu > System Settings > Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)

The second option is "checksum lifespan".


CiviCRM Resourse URL incorrectly configured in the CiviCRM Admin page

Try accessing directly using /civicrm/admin/setting/url?reset=1

That setting is written to the database.  You can edit it (or delete it) by looking in the civicrm_setting table, with the variable name="userFrameworkResourceURL".


How to exclude contacts who already received a mailing?

When composing your mailing use the "Recipients" field to exclude recipients of one or more past mailings. Here's a screenshot of this in action:

Specifically, you would choose one group to include (which can be a smart group based on the event), and several mailings to exclude.


New Install Civi 5.4.0 getting Uncaught Symfony Rename Error and Blank Screen

Problem resolved.  The bug is in fact that the PHP rename function running on Windows Server can't handle a double slash (\\) in the path name.  I made three changes (so far).

Symfony - Filesystem.php line 272
        if (true !== @rename(str_replace(array("\\\\", "\\/"), "\\", $origin), str_replace(array("\\\\", "\\/"), "\\", $target))) {

Smarty.class.php line 1253
       $_smarty_compile_path = str_replace(array("\\\\", "\\/"), "\\", $this->_get_compile_path($resource_name));

Smarty - core.write_file.php line 45
        @rename(str_replace(array("\\\\", "\\/"), "\\", $_tmp_file), str_replace(array("\\\\", "\\/"), "\\", $params['filename']));


Correct location of civicrm.settings.php in CiviCRM 4.7 for WordPress

The recommended location is wp-content/uploads/civicrm/civicrm.settings.php.

The deprecated location, still supported as of April 2017, was wp-content/plugins/civicrm/civicrm.settings.php, but this is both easy to break on upgrade ("whoops, I removed the old plugin and the settings files, and I don't have backups!") and on some sites is not a writeable location (where people prefer to not have WordPress able to modify its own codebase).

This can be seen in civicrm-wordpress/civicrm.php at line 103 and is documented in CRM-16408. Code docs refer to this as "the 4.6 and prior location" so I guess that tells us it's new to 4.7.

It looks like this was applied to all the related files, a WP site I set up the other day had everything in wp-content/uploads AFAICT, which seems like an improvement.

However, I noticed that civicrm.php looks like it gives preference to the deprecated location. IDK if there is a specific reason to this - it feels like it might set up a surprise for some sites if that behaviour ever changes?


What's the deal with the CiviCRM election? Am I eligible to vote/run?

The current election (October 2018) is to determine the structure of a board to oversee the CiviCRM project.  It will determine what the permanent board's mandate is as well as its structure.

You can register to vote until October 18th and/or stand for election until October 15th. This blog post has details.


Is it possible to automatically email individuals once I manually add them to a group?

You are able to use Scheduled Reminders (Administer > Communication > Scheduled Reminders) to automate messages and set when they go out. For your goal, you could limit the messages to go out only to a specified group/mailing list and you can based the automation on something such as when the contact record was initially created.

Click "Add Reminder", give it a title, choose entity type "contact" and "created date". Under "limit or add recipients" choose your mailing list. Then set up various messages and times based on creation date.


Yes you can export Custom Data. If those fields are used for Contacts rather than eg Participants it is probably easiest to do this via Adv Search. Find the contacts you want. Then
- go to Actions and
- select 'Export Contacts' and then click on
- Select Fields for Export
- then choose the fields you want to export
- once you have done this you can Save your Export Mapping and choose it another time

If the data was stored on the Participant record then you might find this easier to do via Find Participants

If you are not sure if the Custom Fields are used for Contacts or for Participants (look in the Custom Field Set page at /civicrm/admin/custom/group?reset=1 and see what it says it is Used For.


CiviCRM REST API query doesn't return all fields of a 'Report'

If you choose a particular report id rather than a general template it should get the config from that report. I'm not sure if it picks up stuff from anywhere from the default templates (e.g first configured instance of that template).

You can pass in other parameters somewhat in line with the POST vars I believe


Does version 5.27 break links to live and test-drive pages for contribution pages?

Enabling Cleaner URLs, as described here: https://docs.civicrm.org/sysadmin/en/latest/install/wordpress/#enabling-cleaner-urls-for-wordpress
appears to resolve this problem.


You can also have a look at the area extension (https://civicrm.org/extensions/areas)
In the area extension you can define custom areas and automaticly assign them to a contact based on his address data.

For example if you have the area Benelux, which consists of the countries Belgium, Netherlands and Luxemburg. You configure the area Benelux to be applicable when the country of the contact is either Belgium, Netherlands or Luxemburg.

Below a screenshot of the contact card and areas for east coast and washington dc.

See the extension page for more examples.


How can I fix this problem with duplicate index in 4.7.21?

You can apply this PR - and reload System status page. This will let you know in advance which indices are already present in DB and would result in DB error on hitting Update Indices button. So what need to be done is -

Apply this PR.
Reload System status page.
Some duplicate indices would be shown above Update Indices button including a message of what needs to be done.
Delete indices manually from the DB (which are listed on above step).
Execute Update Indices button.

Update: just saw the error again - So the error say you have two rows which contain the same values for (entity_id, entity_table, account_relationship) as 5, civicrm_financial_type and 3 respectively. This should not be there as this group of fields are meant to be unique. To remove this error, you can -

Open civicrm_entity_financial_account table.
Search for rows that match entity_id = 5, entity_table = civicrm_financial_type and account_relationship = 3. You'll get two rows(This table should allow only one after indexing), delete one of them and re-execute Update Indices button. This is not provided by core as of now, so we have to do this manually.


How do i properly include civicrm.settings.php to use api calls?

I think I found the issue. Command line php was 5.4.16 despite the website using 7.x.


Expose CiviDiscount Fields to Drupal Views

If you're on D7, you can use the Views CiviCRM Expose Tables module.


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


Unable to load AngularJS pages, e.g., CiviVolunteer and CiviCRM status page

It looks like you have a config mismatch between your CMS and your CRM. The tell is in the CORS error in the screenshot you provided. It looks like your site is serving content at https://www.example.org while CiviCRM has specified a base URL of https://example.org. (Note that one URL includes the "www" subdomain while the other does not.)

These URLs have to match,or you need to configure your server to allow cross-origin resource sharing (CORS).

I would recommend the easiest solution, which is to ensure that CiviCRM serves assets via the same base URL as your CMS. In civicrm.settings.php file:

define('CIVICRM_UF_BASEURL', 'https://www.example.org/');


Could not create a database trigger on AWS RDS

Turns out, Amazon RDS by default turns on binary logging that prevents "CREATE TRIGGER" to succeed, and CiviCRM interprets this as insufficient permissions. More here. For now I turned off automatic backups and completed installation successfully.


I have found the issue. It was a known issue of civicrm v5.25. Here is the details: https://github.com/civicrm/civicrm-core/pull/17164/files

"Invoices - print and email" has been appeared in the dropdown menu after implementing the patch. Thanks everyone for the help


Tokens are available only for contact related columns -
if you want to use contribution related columns as tokens then you need to create an extension and add token hooks for making the values available in tokens list

Please refer to the following link for creating token hooks

http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_tokens

http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_tokenValues


Error after upgrade to 4.7.1 "Call to undefined method CRM_Utils_System::isUserLoggedIn" (WordPress)

A few possibilities:

You may have an old version of the file customised. Check in your custom PHP folder, or do a find on the name of the file that contains CRM_Utils_System::isUserLoggedIn to see if this is a possibility. You may need to update it to match the newer version of the file, while keeping your change (a consultant will happily help you here if it gets tricky - either myself john@civifirst.com or a partner organisation https://civicrm.org/partners-contributors).

Alternatively, are your resources and URLs set correctly in your administer tab?

Failing all of those, double check the site's URL in your civicrm.settings.php file.

Good luck!


Kotodharma,

Welcome to stack exchange. Its a huge pain to upgrade CiviCRM from 4.4 to 5.6. If your site has lots of customization then the upgrade might tend to break at some point if you're not lucky enough. Upgrading Drupal or CiviCRM first doesn't matter. But yes while upgrading CiviCRM I would suggest you to perform incremental upgrade so that if anything breaks you don't need to start it all over again. Here is what i would suggest

Upgrade to last version of 4.5
Upgrade to last version of 4.6
Upgrade to last version of 4.7
Upgrade to 5.6.0

  Note: Take backup at every stage so that you can revert it back if upgrade fails.

HTH

Pradeep


Unable to access volunteer functionality

There are many reasons why this may fail, You can use troubleshoot method below to find cause of the problem.

Make sure you don't have any JS error on browser console.
Check if you have set extension url in Administer >> System Settings >> Resource URL
Clear template_c by running cleanup caches(Administer >> System Settings >> Cleanup Caches and Update Paths)

Thanks

Pradeep


Users with Subscriber role in Wordpress cannot see & access CiviCRM

After having tested all the possibilities by checking and unchecking all the options marked in the WordPress Access Control pane, I found that the box "CiviCRM: access CiviCRM backend and API" must be be ticked. Otherwise you dont have access to CiviCRM. Strange because it is told to give this to trusted roles only. The well done documentation is unfortunately lacking on this subject.


Return after login going through contribution flow doens't bring up contribution page

This may well be a bug. It would be helpful if you could recreate it on demo.civicrm.org. See https://civicrm.org/bug-reporting


How do I prevent the cursor going up instead of down when I press enter in an e-mail while using an iMac

Under Administer - Customize Data and Screens - Display Preferences, there's a choice for WYSIWYG editor. Try changing it to something else and see if the problem goes away.


Creating An Automatic Employee of Relationship At Signup

When someone makes a contribution on behalf of an organization, the relationship is automatically is created. I just tested this on my local sandbox, using the default "On behalf of Organization" profile.

Please replicate the relationship not being created at a CiviCRM demo and update your question, indicating that you were able to reproduce there.


Case Dashboard- Cases with upcoming activities and Cases with recently performed activities lists show empty

It looks like Case creates 2 SQL views

civicrm_view_case_activity_upcoming
civicrm_view_case_activity_recent

And in case dashboard/ find case results- these views are called on to provide upcoming and recent activity data.

When the database was restored from backup. These views had been emptied. And upcoming/ most recent activity data was showing as empty on the dashboards.

A colleague found some related SQL commands in
public_html/sites/all/modules/civicrm/CRM/Case/BAO/Case.php
function createCaseViewsQuery line 3057

And by running the related SQL Query was able to repopulate the views. These now automatically repopulate each time an activity is added.


CiviCRM 4.6.3 says no extensions available

You can control which extensions are displayed by overriding $civicrm_setting['Extension Preferences']['ext_repo_url']

try something like $civicrm_setting['Extension Preferences']['ext_repo_url'] = 'http://civicrm.org/extdir/ver={ver}|cms={uf}|status=';

obviously be careful that you install things that are compatible.


How do I find users who have resubscribed via {action.resubscribeUrl}?

I checked in the code [CRM_Mailing_Event_BAO_Resubscribe::resub_to_mailing()] and the resubscribe function does not unfortunately leave any traces of the action (in logs or otherwise), does not do anything if the person is already included in the groups used for mailing, and just adds the contact to the groups used for mailing for which the contact has the 'Removed' status.

So this leaves you with 2 sub-optimal solutions:

if you want to start tallying these from now on, and have PHP programming skills, you can create a simple CiviCRM extension that would implement the hook unsubscribeGroups and log all operations of type 'resubscribe' (cf. https://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_unsubscribeGroups)
if this is too late, or you do not have the skills, you can always search for contacts that have been recently added to the groups you are using for mailings, but this will be vastly incomplete as missing all contacts that have never been unsubscribed in the first place.


Issue with Drupal 8 CiviCRM Views + CiviCRM event

I just checked and this is working using the latest D8 CiviCRM Entity - it is under development, so best to use the latest directly from its GitHub Repo:

https://github.com/eileenmcnaughton/civicrm_entity/tree/8.x-3.x

If you're interested in helping us to advance/accelerate this development - consider becoming a Maker/sponsor of the D8 integration projects (D8 Webform CiviCRM and D8 CiviCRM Entity) modules.


How to search activity location without % being added?

Under admin - customize data and screens - search preferences, there's an option for automatic wildcard.
It seems to still wildcard the end of the search string, but not the beginning.
That admin page explains it:

If enabled, wildcards are automatically added to the beginning AND end of the search term when users search for contacts by Name. EXAMPLE: Searching for 'ada' will return any contact whose name includes those letters - e.g. 'Adams, Janet', 'Nadal, Jorge', etc. If disabled, a wildcard is added to the end of the search term only. EXAMPLE: Searching for 'ada' will return any contact whose last name begins with those letters - e.g. 'Adams, Janet' but NOT 'Nadal, Jorge'. Disabling this feature will speed up search significantly for larger databases, but users must manually enter wildcards ('%' or '_') to the beginning of the search term if they want to find all records which contain those letters. EXAMPLE: '%ada' will return 'Nadal, Jorge'.


How do I suppress the local country on address labels?

This extension
https://github.com/eileenmcnaughton/nz.co.fuzion.civitoken

Has a token called 'Conditional country' - which does that
https://github.com/eileenmcnaughton/nz.co.fuzion.civitoken/blob/master/tokens/address.inc#L7

You can use the token in the mailing label
http://dmaster.demo.civicrm.org/civicrm/admin/setting/preferences/address?reset=1


Should CiviMail report show bounces when using the Mandrill extension?

The first thing to check is that both the MTE extension and Mandrill are properly configured. For instance, are soft bounces configured to be returned to CiviCRM?  See here for instructions on configuration:  https://github.com/JMAConsulting/biz.jmaconsulting.mte

I believe bounces are passed on to CiviCRM's standard bounce processing. You may need to check that the bounce reasons and soft bounce thresholds are correctly set (need to do a little mysql magic for that though).

Remember that contacts are not put on hold until the soft bounce threshold is met.


Using CiviCRM with Security Pro iThems plugin - page not found for contribution pages after SSL certificate loaded

Check the URL set in CIVICRM_UF_BASEURL in your civicrm.settings.php matches the updated location of your site.

Protocol may now be https:// instead of http:// - I'm not familiar with Security Pro plugin; it may need to be improved to account for CiviCRM URLs also.

There's no harm in making the entire site SSL, which keeps configuration simpler ... just redirect all HTTP traffic to the encrypted URL.


The versafix-1 template on the mosaico site has editing options I don't see in civi. Any chance of getting them?

we're looking to upgrade the mosaico library in CiviCRM to the latest version in the next few weeks. After we do that the extra features will become available.


The address is stored in an Address entity.  You then create a LocBlock entity that links to that address ID, and the event references the loc_block_id.

This is a bit tricky to do with the CSV API Import GUI because it only supports importing one entity at a time, as opposed to using API Chaining.  There are several approaches that support API chaining but unfortunately they're all significantly more complicated than API CSV Import GUI.

If you'd like a manual method:

Note the max ID in civicrm_address (SELECT MAX(id) from civicrm_address).
Import your event addresses.  Note the new max ID.
Note the max ID in civicrm_loc_block (SELECT MAX(id) from civicrm_loc_block).
Create a spreadsheet with a list of new address IDs only.  Import that as a LocBlock entity, mapping to address_id.
Note the max ID in civicrm_loc_block.
Paste the loc_block_id into your original event spreadsheet as a new column.  If you successfully imported all addresses in the same order as they appear on the event CSV, your loc_block_ids should line up.
Import the events.


Can a contact have more than 5 websites?

A quick workaround which I can see is you can easily add n number of websites for a contact from the Contact Edit Form (Click Edit on the Contact Summary Page).
<site_name>/civicrm/contact/add?reset=1&action=update&cid=<contact_id>.

This is restricted to a count of 5 (may be a bug) in Inline Edit mode according to the code written here.


How can we pre-populate contacts into Caldera forms via query params

Michael McAndrew shared a WIP at

https://github.com/mecachisenros/caldera-forms-civicrm/pull/85

it does not yet include any ACL
people have to remember to add a hidden contact id to the form
a dedupe rule where contact id triggers a match (contact_id weight = 1, threshold = 1) is required


You may want to try creating a wgetrc file that contains all your values.  Check the man page for wget as a reference.. Here's a wgetrc of mine:

post-data=name=civicron&pass=<password>&key=<sitekey>
output_document = -
quiet=on
timeout=1

Also - check your Apache/nginx logs for the actual URL that was requested that corresponds to a wget that resulted in a "You need to send a valid key" error.  Maybe something is getting truncated; the web server log can help determine this.


Using fields of referenced contacts in message

Welcome to SE CiviCRM, you can install Fuzion tokens extension. It provides lots of tokens for contacts like relationships, payments etc
Details can be found here.


Access denied errors by server itself on uploaded files?

I have discovered that the delete-this files are temporary files created by CiviCRM for the sole purpose of generating this error! This error is good, it means that these directories are not browseable, and they shouldn't be browseable.

CiviCRM's CRM_Utils_Check_Security class does these checks in order to report what would-be security errors.

It creates a file, then tries to access that file via http. This should fail.


first click to reach CiviCRM dashboard results in long delay and error message

I updated the Drupal core to version 7.54 using "drush upc", which reported pending database updates, so I also did "drush updatedb".  The Drupal core update also caused several "projects" to be updated as well.

All of this seems to have cleared the problem I originally reported – I no longer see a long delay when I first log in and click CiviCRM.


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

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

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


How to store template_id that new event is derived from

This is the reverse of what you're trying to do but might have the intended result:

Instead of populating the custom field after event creation, how about adding the custom field to your event template and populating it there?


What's the correct way to log debug info to log?

I use

Civi::log()->debug('my message')

to write to the log file.


Contribution page with cookies blocked just reloads on submission - is this expected behaviour?

Yes, that's the expected behaviour.

I'm intrigued that anyone would try and make a contribution with cookies disabled - presumably they are (justifiably) concerned about privacy on the internet, but there aren't going to be many donation forms that work without cookies.

The reason you need cookies enabled (with civicrm) is because some of the form state gets saved in your session which is tied to you via your cookie(s).

Here's an equivalent issue in Drupal from 16 years ago that's still going. The proposed solution is to provide some notice to users that don't have cookies enabled.

https://www.drupal.org/project/drupal/issues/2946

Options going forward are:

Build yourself an extension which pops up a warning when a visitor to civicrm has cookies disabled.
Create a PR for core to do this.
Use an existing drupal module to do the same thing.

I'd recommend you start with an existing Drupal module and see how it works. There will be a few different ways to do this, some more invasive than others. For a core patch, I'd only recommend that it pop up after an attempted submission because otherwise you're generated some extra load and risk messing something up.


Where is the search and replace feature?

Not sure about "Search and Replace", but you can do the above from the "Update multiple contacts" task on the contacts returned on Advanced Search.

All you need to do is add your field(I think it's IM Screen name in your case) to a profile (Created from Administer -> Customize Data and Screens -> Profiles).
Use Search -> Advanced Search to filter and get your contacts -> Select Update multiple contacts on the Action dropdown.
Select your profile where you've added the field in step 1.
Enter the new value for the contact(You can also make use of Copy icon to copy text to all the rows) and click Update Contacts button.


CiviCRM Event auto public on WordPress after saving

Please update to the latest version of CiviCRM Event Organiser:

https://github.com/christianwach/civicrm-event-organiser

This should respect the existing post status of your Event Organiser events.


Contacts don't really get 'added' to a smart group - it's more that when the smart group is used, a search is run to find who currently meets those criteria (glossing over some complex rebuild and caching details...)  So there is no specific event for CiviRules to react to in a post trigger.

You might be able to base something on the 'Daily trigger for group members' cron trigger and maybe modify it for a more frequent run.  See https://docs.civicrm.org/civirules/en/latest/trigger/


I am a bit of a hurry at the moment - we use a greeting based on the prefix - maybe it helps:

  {capture assign=c}{contact.communication_style}{/capture}{capture assign=p}{contact.individual_prefix}{/capture}{if $p=="Frau"}Liebe{else}Lieber{/if}{ }{if $c=="Familiar"}{ }{contact.first_name}{else}{$p}{ }{contact.formal_title}{contact.last_name}{/if}


Can a contact be registered for an event through another event

I certainly would investigate the CiviDiscount extension: https://civicrm.org/extensions/cividiscount

It might already bring functionality that would be close to what you need, if not... it has it's own API, so a custom extension that would meet your needs would be smaller with CiviDiscount then without.


Mail Merge Codes per Price Set Option (Name Badges)

I ended up using the Custom Search: Price Set Export, then used Excel Formulas, and then a Microsoft Word Mail Merge. Ew!


CiviCRM User Summit Sept 2016 - Any last minute ideas on how to convince another 20 people to register

I received a somewhat clever promotion from DonorDrive yesterday to encourage behavior.

They were looking for survey respondents- anyone who filled out the survey within 25 minutes got an instant Starbucks gift certificate for $5 (printable).

I don't even like Starbucks, and I fell for it.

Maybe you could use this technique somehow?


Problem with wp-cli and setting up cron in CiviCRM

After much research and getting expert ideas...

(I'm sure this is known to many people here, but I'm posting here to hopefully help others who don't know this.)

TLDR; in Cron jobs, you should fully specify the path to the PHP binary as well as wp-cli.

=======================================

Cron runs in its own minimal environment. It does run as the relevant user, but it does not load most of the user environment info. This post was helpful for me to understand some of this:

https://serverfault.com/questions/337631/crontab-execution-doesnt-have-the-same-environment-variables-as-executing-user

I am running cPanel which does some of its own management of php. The cPanel support people were very helpful in helping me understand more.

What is not obvious is that when you login to a shell, various paths are added, even ones that are NOT in the user's .bash_profile. Cron does not necessarily do the same thing.

One that is added with a shell login is /usr/local/bin/

So typing "which php" in a shell gives /usr/local/bin/php, but in cron it gives /usr/bin/php

In cPanel, or indeed other tools I expect, this contains references to specific php binaries that can change depending on what user you are.

I don't pretend to understand the underlying mechanism.

But the upshot is that the php command points to a different binary in the shell or via cron.

So in the cron job, you ALSO have to point at the specific php binary with a command like:

/usr/local/bin/php /usr/local/bin/wp --info (etc)

Or even a FULL path to the desired php binary:

/opt/cpanel/ea-php56/root/usr/bin/php /usr/local/bin/wp --info (etc)

In cPanel there is also a known problem when using PHP-FPM for a site where the automatic PHP detection doesn't work, so it falls back to the cPanel PHP default. They are working on fixing that. If this is a problem, then setting the full path to the desired PHP binary will work.


Is it possible to display Event Custom Data when openning a pertaining Webform?

My notes suggest we added this feature about 7 months ago and you should be able to use pid1=xxx

Therefore using a url such as /node/92?pid1=15215 as a user who has permission to see the Contact involved should see the Contact and the Participation data load on the webform

If you have any problems doing so pls ping me and i will hunt down where our fix got to, but assume we pushed it back to core webform_civicrm

UPDATE

Scenario: Contact xx is registered to Event A and Event B.

Now, if "cid1=xx" is added to the URL - it loads all the participant information of the contact for Events included in the webform and fills the webform. So both event A and Event B will be chosen as selected. Lets say the participant id for event A is yy and the event B is zz.

With our changes(not yet submitted to core) - If a user adds "pid1=yy" to the URL, it will only load the event A information, giving the user the option to update their participant record values via the webform.

So a webform loaded with - "cid2=204&pid2=54" will update participant id 54 information attached to contact id 204.

This has not been pushed upstream (ie to core) as we would need to check if it doesn't harm any other components and create a PR if it seems to be a good addition.


For your last question, a quick google of "civicrm mailchimp extension" gets

https://civicrm.org/extensions/mailchimp-civicrm-integration (usage 795)
https://civicrm.org/extensions/mailchimp-sync (usage 1)


Allowing group management to users with limited permissions

Yes, this is a shortcoming in the current acl system.

One possible workaround for this might be to implement the post hook on the civicrm_group object. The post hook can take the contactID of the person creating the group and add an ACL giving this person access to the group.

You can implement the above hook in an extension. Probably worth considering including this in core need on a setting


What is a line item? And what is a financial item and how are those two linked together?

The Line Item table is oriented towards the current state of an order's line item. The Financial Item table is oriented towards keeping track of the history of the financial aspects of line items. The Financial Transaction table is the base table for financial transactions created by CiviCRM every time there is any add, update, cancel, refund, pay grant or other action that has a financial impact.

At a high level, each time there is a change in a line item that produces a financial effect, like a change in the quantity, or the price, or the financial type associated with the line item, a reversal entry of the previous financial impact of the line item is made in the financial item table, and a new entry is inserted representing the current financial impact.

Another difference is that line items are more like business entities while financial items are aspects of financial accounting entries. To hide the complexity of double entry bookkeeping, CiviCRM uses Financial Types to create a bundle of Financial Accounts that will be used through the life cycle of a transaction for things like its Accounts Receivable account, its Revenue account, and potentially other accounts like the Accounts Payable or Contra Revenue account for refunds owing. These financial accounts are the ones that appear in the Chart of Accounts for an organization. Line items have financial types associated with them, while the specific detailed nature of financial items means they have financial accounts associated with them.

The civicrm_financial_trxn and civicrm_financial_item tables hold the main accounting or bookkeeping information in CiviCRM while civicrm_entity_financial_trxn is a related table that connects records in civicrm_financial_trxn to related records in various other tables. There are many types of financial transactions, and they all are stored in these tables, and are exportable via Financial Batch exports to Accounting Packages like QuickBooks, Sage, and Microsoft Dynamics.

Bookkeeping entries have two sides to them: a debit account and a credit account, as well as an amount and a date. Some bookkeeping entries are split, where a single amount on one side is split amongst several amounts and accounts on the other side. For example, a payment for an event registration and a donation would have the total going into the bank on one side, and revenue being recognized for two accounts on the other side.

In the case of contributions which handle the finances for donations, memberships and event registration as well as other sale items, each line item will create a civicrm_financial_item, each payment will create a civicrm_financial_trxn, and civicrm_entity_financial_item records will connect them. In the case of line items with sales tax, which in general goes to a different account in an organization's chart of accounts, there will be an additional entry in the civicrm_financial_item table representing the tax on a line item.

An important principle of accounting is that books should be auditable. One part of that is to retain records about all of the changes that have been made on items. So if a purchase is made with pay later selected, and two partial payments are made, the number of things purchased is changed, a refund is made, etc., then all of these are tracked in the financial tables in CiviCRM. Entries in civicrm_financial_item and civicrm_financial_trxn tables are intended to never be edited or deleted.

We highly discourage developers trying to write directly to the civicrm_financial_trxn, civicrm_financial_item and civicrm_entity_financial_trxn tables which store financial information in CiviCRM since version 4.3. We'd encourage use of the order api and/or payment api, and will enhance and/or fix issues with those APIs.

Documentation that is reasonably accurate on entries for these interlinked tables for various types of accounting transactions can be found at https://wiki.civicrm.org/confluence/display/CRM/CiviAccounts+Data+Flow#CiviAccounts4.3DataFlow-OnlineorofflinecontributionwithFEE.

The Caldera Forms CiviCRM plugin for WordPress was recently trying to integrate its support for various line item operations with Civi core, so their code may provide useful guidance. The Line Item Edit extension might also be a useful developer resource, though I seem to recall that it needs a bit of refactoring.


The field 'custom_39' has no associated option list

It sounds like you may have a smart group that relies on a custom field which you have since disabled or deleted. See if you can find the id of the smart group in that huge backtrace. Or else try re-enabling that field to see if the problem resolves itself.


Considering that you foresee this as a significant challenge for you, I'd like to suggest that it may not be worth the trouble. CiviCRM is unlike within content management systems, where searches are for snippets from among a handful of long text fields. Instead, there are hundreds of fields to search, but you're usually looking for the exact or nearly-exact value.

Consequently, the advanced full-text indexing that Solr would provide would be wasted in most CiviCRM searches.  You'd also need to index all the tables (including ones that don't exist yet, as custom data tables are created on the fly and they're among the most-frequently searched).  Even the most simple searches by city or email address can involve a bunch of database joins.

In sum, I'm not sure Solr search would be worth it even if you had a bunch of solid developers and an open checkbook.  (The only reasonable example I can think of offhand is if you give out a bunch of grants and need a way to search among a ton of proposals.)  If you aren't confident in your abilities, you won't want to embark on something this expansive and experimental.


How can I manage the drop down field lists in Search Builder?

These lists are generated programmatically now, and are basically alphabetical.  While I would encourage your users to give it a little more time to adapt, you could reorder the steps  with a jQuery script.  Consider adding a .extra.tpl file with your script in your custom templates folder in CRM/Contact/Form/Search/Builder.extra.tpl.


What's the optimal way to install and track CiviCRM with Drupal and git?

Drush can support VCS deployments and you can tell drush make to keep the .git directory with "drush make --working-copy your-platform.make". However, unless it's changed recently, drush doesn't have post-install hooks, so it won't handle composer/bower/npm well.

Composer has support for "post-install-cmd", but civicrm itself is not on packagist. I'm not familiar enough with composer to comment further, but from experiences so far, I find Composer more interesting than Drush on many many aspects (not CMS-specific, huge community, great tool).

Personally, and this is not an ideal solution: I build platforms (drupal+contrib+civicrm+extensions) using the tar.gz of each project. Extensions/themes that are actively developed get added as git submodules. All my servers use the same git repo (except for site-specific extensions/themes/modules which are in their own repos) and when I do upgrades, I run a git pull everywhere.

The main down side to this is that I cannot cherry-pick patches from upstream, which was the main issue of your question. I usually apply patches manually.

The main issue I had with running upstream git in production, is that this means I have to run composer/bower/npm/gencode on all production servers whenever there is a new version. That has a too high risk of failing (I manage ~ 20 servers, some with a mix of 4.7-D6, 4.7-D7, 4.6-D7, 4.7-WP).


How can i show a Drupal block on a specific civi path that contains a question mark

The Drupal module Block Query pretty well nails it, and there is an explanation about using it with civicrm here


Ah yes unfortunately you will need some PHP edits to make that work; Custom
reports in CiviCRM are a good way to start getting into the code base though!

Here's two references for you:
https://sf2012.civicrm.org/sites/default/files/slides/CiviCRM%20Reports-Customize%20and%20Extend.pdf

and

https://alastaira.wordpress.com/2011/03/17/civicrm-creating-a-custom-report/


Only logged in users can change billing and recurring amount

Two bits are required for anonymous users to be able to access URLs like:

/civicrm/contribute/updatebilling?reset=1&coid=4263&cs=b88004e51f6c99b0601aceab7e489315_1530392348_168

Permissions: make online Contributions
Administer -> CiviContribute -> IATS Payments Settings
Check the box: Enable self-service to recurring contribution Contact Billing info:

PS - as you may have noticed this is no longer working in higher 5.x versions of CiviCRM. This regression can be fixed with this solution (PR) which was posted here: https://github.com/civicrm/civicrm-core/pull/12668 - unfortunately it was closed. It's only one line of code you need to add to this file: CRM/Contribute/Form/UpdateBilling.php

$processorParams['recur_id'] = $this->_subscriptionDetails->recur_id;


I don't believe there is any shared code for this currently. We are working with a client in Aus to build such a system for them which would involve sharing (pushing/pulling) data from the 'parent' crm to various 'child' crm databases.

If you need a solution then we may be able to extract the work we have done that relates to just the features you need but would clearly need to charge and would provide an estimate if you were interested. You can contact me via https://www.fuzion.co.nz/helping-those-who-do-good-do-better or https://chat.civicrm.org/civicrm/messages/@petednz-fuzion


This means that the settings are hard coded in the civicrm.settings.php file in the sites/default/ directory on the server (the location may vary depending on your setup/CMS). You can manually remove the lines from the file that set the values.


WordPress Site Health contains critical errors unless CiviCRM is disabled

Do not worry, the Health Check loopbacks and REST API checks are inaccurate. Nothing is actually wrong. You can install Disable Health Check.


Creating a report listing contacts grouped by an employer-group

If you are using Drupal and are familiar with or willing to explore Views then I would expect a grouped display like this based on a 'tag' or whatever characteristic 'food' is would be do-able. Happy to explain more if that is a solution you can use.


Coding of civimail header body and footer - best practice

I've been using something like this by adding HTML to the CiviMail Header and Footer options.

https://gist.github.com/danaskallman/57616e7d17cc4c4f5050
https://gist.github.com/danaskallman/1a40f03900a631c6389b

It works nicely, wraps around the content area so that no HTML has to go in that area if not wanted to do so. Works best with Single column newsletters, which I believe work best on mobile anyway.


One host, multiple Wordpress domains, one CiviCRM database

I haven't done multisite with Wordpress, but I think this link is more up-to-date documentation:

https://docs.civicrm.org/sysadmin/en/latest/install/multi-site/#wordpress-multisites

  If using a WordPress multisite when CiviCRM is activated the civicrm.settings.php file is added within the uploads directory for that site. Site 1, generally the main site of the multisite, uses the default upload path /wp-content/uploads/. But all other sites will use be in /wp-content/uploads/sites/#/civicrm, the # being the website ID for that site. This default setup allows multiple CiviCRM databases to share one codebase...


Default header and footer is not being recognized

You can fix this by upgrading to the latest version of 4.6.

Specifically the issue is https://issues.civicrm.org/jira/browse/CRM-16237


I assume your user does not see the contributions tab in the contact summary?

That can be because on the fact that the CiviContribute component is switched off (Administer>System Settings>Components).

It can also be because the tab is switched off for the contact summary (Administer>Customize Data and Screens>Display Preferences - then check the if Contributions is ticked in Viewing Contacts)


Dedupe exceptions are those contacts that have been flagged as potential duplicates, but someone clicked the "Not a Duplicate" link next to them.  If you remove the exception, they can be considered duplicates again.

CiviCRM has two kinds of dedupe rules - those that you build and some pre-built rules that give much better performance.  Many of the default supervised/unsupervised rules are pre-built rules.  The rules you're building are timing out.  To deal with this, try increasing the server's PHP timeout or reducing the complexity of your rules.  Also - dedupe has received a lot of love in recent months, so consider upgrading CiviCRM to the latest 4.7 for a performance boost.

If you're handy with SQL and want to write a "pre-built" dedupe query, the hook is hook_civicrm_dupeQuery.  Veda's dedupe extension is outdated and may not work on current versions of CiviCRM but has a large number of high-performance dedupe rules.


I don't know the root cause of the failure, but, installing the 5.28.2 seems to have fixed the issue.


If you are wanting to show 'my events' you can create a View based on civicrm participants, then use Relationship to pull in "CiviCRM Contacts: Drupal ID", then set a views Filter to 'user: current = yes". Done.

But if i misunderstood then pls clarify the outcome you want and in what context.


Send Test and Next not clickable (greyed) due to missing value in reply_id field (i think)

Not sure if this is the answer, or a better identification of the problem.

I see that in Headers, Footers etc Auto-responder ID is '8' but is not set as default.

Not sure if setting it to default, and saving and reopening my mailing resulted in button being clickable or if that was the one I edited in DB.

Will have to look in to whether someone turned that default off or it is was a minor glitch in the upgrading.


You could set up the price field to be a select drop down an make the options 1, 2, 3, 4, etc. With the corresponding price for each quantity. This is not open ended you would have to setup quantities based on how many options you want to provide people.

Another option is to use the register multiple participants option in the online registration setup.

Hope this helps.


CiviLearner,

You will need to use Find Participant search form to update the status of participant.

Do a search on event name= [name], role = 'attendee' filters, select participant and then from Actions list select 'Update multiple participant'

Or You can use Advance search with same filter but select 'Event Participants' from the 'Display Results As'.

HTH

Pradeep


Sorry, should have searched more carefully. Found the answer here:

Status page angular load error


Why unexpected attached files are loaded in all mailings by default?

I think I've found the cause. Check out bug CRM-16544, it matches your problem exactly (except theirs was Grant and yours is Event). I think we can fix this by adding civicrm_event to the array on line 210 of Container.php, but I'm not familiar enough with the Symfony stuff to be sure. I think your best bet is to file a bug.


Multilingual support and database issues -- how many languages?

So the problem is that each new language is stored as a separate column for each translated field (eg title, body...), so the more fields that are translated and the more new language you add, the sooner you will hit a limit of mysql on how many columns can be set. As for the exact number, it depends as well on the type of content you store, mysql has a longer explanation, but 2 or 3 is what I've tested without reaching that limit:
http://dev.mysql.com/doc/refman/5.7/en/column-count-limit.html

Other than that, works pretty ok, but keep in mind that because the structure of the database is changed, it becomes impossible to revert to a single language version.


How to display CiviCRM status messages on CMS pages

CRM_Utils_System::setUFMessage($message)

should do the trick. This is implemented for drupal only. I dont think we've figured out how to set messages in WP / Joomla as yet


CiviRules - What does 'Compare with original value (before the change)' do?

This comparison is pre-change. For example if I changed my surname from Smith to Jones and setup a condition to check surname = 'Smith' then setting this checkbox (Compare Original) would match to 'Smith' as that was my surname prior to the change I made. Hope that makes sense!
In terms of your use case - I think you've solved it the right way i.e. having a marker to indicate you've processed the contact already.


How can I fix broken clickthrough URLs in Mosaico emails?

Drupal 8's architecture is different from most, and you probably know that there are two copies of some files - one in libraries and one in vendor.  My guess is that Mosaico is getting the path to url.php through two different functions that give different results.
Open up your civicrm.settings.php and find the line that has CIVICRM_UF_BASEURL in it, and paste these three lines anywhere below that:
$civicrm_setting['URL Preferences']['userFrameworkResourceURL'] = CIVICRM_UF_BASEURL . '/libraries/civicrm/';
$civicrm_paths['civicrm.root']['url'] = CIVICRM_UF_BASEURL . '/libraries/civicrm/';
$civicrm_setting['domain']['userFrameworkResourceURL'] = CIVICRM_UF_BASEURL . '/libraries/civicrm/';

This should hopefully force Civi to always return the libraries folder when constructing URLs to the extern subfolder.
EDIT: Today I was troubleshooting a site that went from using the Roundearth install method to the civicrm-asset-plugin method, and I had to comment out these lines to get the site to work.  I suspect Mosaico will be fine without these lines now that I've completely converted.


It's a bit hidden inside Communication Preferences on the contact record:


CiviCRM CK editor trying to access Skins.js, and CSS resources from the Drupal 8 core assets instead of the Civi directories

I also had this problem.  It happened ~95% of the time but not 100% of the time, leading me to believe there's a race condition present.  It started when I upgraded from Civi 5.12.1 to 5.12.3, but you experienced this problem sooner and I'm guessing it's tied to Drupal 8.6.15.  It also happened on my test site but not my dev site (haven't pushed to the live site yet for obvious reasons).

I was able to solve it by uninstalling/reinstalling the core ckeditor module via drush.  However, I'm not sure why that fixes it, but I've been unable to trip the issue.  In my debugging, it certainly seems that Civi's CKEditor is loading the paths of the Drupal CKEditor.  I'm not sure why though.


Please do NOT use a gmail address for the bounces, it won't work (a google app email is fine however).

It will fail you in two different but both bad ways:

if you use mail() or a local smtp mailer for your outbound, you are trying to send an email from your civicrm server as being from a gmail email, something that google said is not allowed (SPF record) and it will mostly end up in the spam folder of the recipient (or be flat out rejected).
if you do use google smtp as mail servers, they will prevent you to send too many emails (the too many is going to be changed over time, but is pretty much guaranteed to be above the number of emails you want to send)

For your specific issue (and for others that use google apps): check the spam folder see if the bounced emails are there, and add a filter to these emails stay on your inbox, they will often be seen as spams by default until you add filters.


Upgrading old CiviCRM/Drupal and switching hosts

I'd recommend something like this:

Take a snapshot of the filesystem and database(s) and get the current site running on the new host and new domain name. See: https://docs.civicrm.org/sysadmin/en/latest/misc/switch-servers/
Upgrade the filesystem to Drupal 7 (updating the CiviCRM package to CiviCRM 4.1.6 for Drupal 7 in the process of this upgrade so it is compatible but not functionality different beyond that).
Once Drupal 7 is running smoothly, you can upgrade CiviCRM to the most recent version. Backup databases often before attempting next steps.
Then, once CiviCRM is running smoothly on the latest version, you could either stay on Drupal 7 for the next few years OR upgrade to Backdrop CMS or Drupal 8 if you still have some energy.


Help needed in setting up rest api in CIVI CRM

In your pictured error messages, I see sites/all/modules/cv/civicrm which looks a little strange. CiviCRM is typically installed at sites/all/modules/civicrm. I'm not positive this will help, but I would suggest trying the following:

Move the civicrm folder up into the modules folder.
Make sure CiviCRM still works via the regular front-end interface (and troubleshoot, as necessary)
Try your REST call again


Why can't I send bulk SMS (even though I can send individually)?

Hi I'm having this exact problem and have done some debugging:

When making a new SMS there are three steps

you first select recipients
then you write the body of the SMS
you schedule the SMS

Between step one and two the table civicrm_mailing_recipients correctly gets filled with email_id set to null and phone_id set with the id of the contacts' phone numbers. This gets done in the function getRecipients in CRM/Mailing/BAO/Mailing.php, and the phone_ids get set because $mode is set to "sms".

But after completing step three this function is called again and $mode is now empty, and the email_id is set instead and phone_id is set to null.

This results in an empty result from an sql-call in the function deliver in CRM/Mailing/Bao/MailingJob.php, which try to get the recipients, but returns empty and thus there's no one to send to.

This second call to getRecipients is made by the function create, also in CRM/Mailing/BAO/Mailing.php, and it's there $mode is NOT getting set, and there's no checking if it's an sms or not:

  // Populate the recipients.
  if (empty($params['_skip_evil_bao_auto_recipients_'])) {
    self::getRecipients($job->id, $mailing->id, NULL, NULL, TRUE, $mailing->dedupe_email);
  }

So to fix that I altered it to this:

  // Populate the recipients.
  if (empty($params['_skip_evil_bao_auto_recipients_'])) {
    // check if it's an sms
    $mode = $mailing->sms_provider_id ? 'sms' : NULL;
    self::getRecipients($job->id, $mailing->id, NULL, NULL, TRUE, $mailing->dedupe_email, $mode);
  }

And now it works. When the "Send Scheduled SMS"-job is run, the bulk sms gets sent.
I've filed an issue at https://issues.civicrm.org/jira/browse/CRM-17331


How do I rebuild the training demo sites?

The demo sites are built as a scheduled job in Jenkins. Authenticated users in Jenkins can start builds from the gui. Please contact the core team via email (totten or dave or coleman or kurund, at civicrm.org) if you need a login to that site.


Number of contacts vs. hosting space required

CiviCRM is distributed under a GNU AGPL 3 license; there are no legal limits as to the number of contacts or number of users you can have.

On the question of storage, it isn't easy to say definitively what a maximum number of contacts would be, or even how much disk space a certain number of contacts would require.

Contacts are only a small part of a CRM system. You're also recording event participation, contributions, memberships, mailings, and so on. The more numerous these data points, the faster your storage needs will multiply.
There can be huge variation in uploaded files like profile pictures, logos, or attached PDFs— these still count against any storage quota, even if they're not stored in the database.
Even considering the database alone, not every field of every record will be populated; turning off geocoding or stripping down greetings will make a difference.
Every site will have different custom fields, in number, type, and population.

Two identical databases can further differ based on the configuration of the system. For example, the number of characters you store in a database is different from the number of bytes of space it takes up. In a character set like Latin-1 (ISO-8859-1), all available characters can be stored in a single byte, but because UTF-8 includes a vastly larger range of characters, it might take up to 4 bytes (as of MySQL 5.6, MySQL will use up to three bytes) to do so. The differential will not be significant for Western European languages, but would be radically so if your database contained Chinese characters for example.

With MySQL, size limitations generally depend on the file system (which relates to the operating system). Since InnoDB tables can span multiple files, your db can be quite large indeed; however, the time and memory it takes to search through exceptionally large databases could render CiviCRM impractical, and this of course relates to how fast the hard disk is and how much memory is available, and how your MySQL is configured. There is a whole cottage industry around MySQL tuning, though many of the tools like MySQL Tuner wouldn't be usable in a shared hosting environment.

To illustrate, I have a CiviCRM 4.6.3 database with 2500 contacts in UTF-8 stored on an ext3 drive that is 202MB in size; there are various complex membership levels, monthly events, and frequent mailings maintained in CiviCRM. Another organization on the same server has almost 8800 records, also UTF-8, and 12 custom fields. Yet this database takes up only 13MB of space (!). That is because the vast majority of contacts are only a name and email address, and there are only a few dozen mailings stored in the system.


MyISAM vs InnoDB - WordPress Installation

To speak to the worth of a VPS -- yes, it is worth the money to use a VPS instead of shared hosting when CiviCRM is involved.  Certainly, you get the benefit of controlling your server environment for things like database engine changes, but perhaps the biggest benefit you will see is increased performance. The shared environment may work in the short term, but as your database and needs grow, I suspect you will hit limitations with your hosting.

See this question for reference: Choosing a VPS solution for CiviCRM


CiviCRM menu missing Administer link after reboot

You can access it directly using the URL: -
yourdomain.com/civicrm/admin/

But from there you should see the navigation menu and be able to edit the menu and what shows in it.

You might need to check the permissions for your user role in your CMS (Drupal?)


There's a bit of extra information that may help us:

Firstly, when you say "doesn't show up" - that's not very clear. Ideally please paste a screenshot (with names & email addresses redacted).

Secondly, please open "Console" in Google Chrome (or Developer Tools in other browsers) and see whether there are any errors.

Next (if you're on Drupal), please look in your Drupal watchdog for any errors.

Finally, if you have server access, please look in your Apache / Nginx logs and   in your ConfigAndLog CiviCRM error files.

Thanks!


Is there a way to pass additional information (e.g. Description) to the PayPal payment-processor?

Civi does send description to paypal. You can alter them by implementing hook_civicrm_alterPaymentProcessorParams() hook


Sometimes you can get clue from .tpl file form view source page. The other option is to find the page callback of the the url. Each CiviCRM url defined in menu xml file has a callback. The page callback gives the clue which file is being invoked. For eg civicrm/activity/view

If you a grep 'civicrm/activity/view' on CRM/ and open the xml file you will see something like this

<item>
     <path>civicrm/activity/view</path>
     <title>View Activity</title>
     <page_callback>CRM_Activity_Form_ActivityView</page_callback>
     <access_arguments>access CiviCRM</access_arguments>
  </item>

Which means the file CRM/Activity/Form/ActivityView.php is called in this situation.

HTH

Pradeep


Columns available for sorting in CiviReport seem arbitrary/random

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

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

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

To answer your other questions:

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

Some additional thoughts:

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


CiviMail Reports is not tracking email opens

I've experienced something similar on a few sites and it turns out the file/directory permissions are not set right. I'm not sure what causes it, but I have found that I need to recursively reset permissions after updating CiviCRM, or the tracking doesn't work, click through links don't work, you can't upload images from CiviMail, etc.

From just outside the civicrm directory, I do this and it seems to solve it:

find civicrm -type d -exec chmod 755 {} ";"

find civicrm -type f -exec chmod 644 {} ";"

The first one changes permissions on directories and the second on files. You want to avoid having anything set to 777 for sure.


How to set a contact's gender using API?

Experimenting with the API explorer, I found that 'gender_id' => 'Male' worked.


cron jobs stopped working under Joomla 3.9.13 and CiviCRM 5.18.4

I had difficulties getting cron.php to log progress and, as the issue was on a remote server would have difficulties debugging.  As a consequence, I rolled the CiviCRM installation and database back to backups taken before the issue occurred, and then reinstalled the CiviCRM upgrades.  The cron job now appears to be working.  Fortunately, the problem was on a test system so it didn't matter about any recent work.  Had it been on a live system, it the issue would have been much more serious.


Why does the default 'from' email address not show as the first option when using 'Send Email' Activity

This was a problem in core and has been fixed by Jitendra - will add the PR when I can dig it out.


I'm not sure this was a real problem. I cleared all Drupal caches and then it worked.


Per our conversation, my current guess is a recent API change on Stripe's end is causing your issue.

My test install still works, but my API version is set to 2014-10-07.

Here is the CHANGELOG from my working version:
https://stripe.com/docs/upgrades?since=2014-10-07#api-changelog


Insert custom date field from Drupal Webform

We're using dates in this example (custom fields on the grant entity) - I just checked - these dates are working properly:

So try this: set the date field to NOW -> using the method I described here: How can I create early bird fees with Webform CiviCRM? -> for your Date fields;

Let me know if that works.


How do I configure printing to format properly?

This is a known bug that is fixed in 4.6.11--I discovered it on a client's site.  Basically, if your report doesn't have the header explicitly saved in the report settings, the header is blank rather than the default.  The default header contains the CSS to make your report look like it should.

The simplest solution is to upgrade, or you can apply the diff.

Finally, a rough option is to edit the header and footer manually.  Your header should be:

    <title>CiviCRM Report</title>
    <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />

and the footer should be

You'll need to paste this in for each report, so it's more efficient to just upgrade, but if you're in a pinch trying to get the report out right away, this will help.


How to send email from CiviCRM and Wordpress

Look at the wiki book CiviCRM user and administrator guide for setting up scheduled jobs and cron jobs.

http://book.civicrm.org/user/current/initial-set-up/scheduled-jobs/


Error when executing Update Membership Statuses Scheduled Job

I took a look at the code for you, and I couldn't see a stand out problem. The bad news is that you need a developer to look at this, insert debug information (or run it in the debugger) and really figure out what's going on.

Most helpful would be if you requested the logs from your SysAdmin, and then posted back when you have them. We need to figure the path of execution.

Do you have custom extensions installed, and does it work if they are disabled?


Membership Management Customization: Assessment Sign up

There is an approach whereby you set up a Membership Status of 'waiting approval' that kicks in at 'join date' and puts the membership in to a non-current status (overridden) - there are some old threads around that may give more pointers eg

https://forum.civicrm.org/index.php%3Ftopic=25771.0.html
membership approval
https://forum.civicrm.org/index.php%3Ftopic=33584.0.html

IN terms of providing documentation, this can be done via a CiviCRM Profile


Sync new clients added in civiCRM to mailchimp

There is an extension that keeps MailChimp and CiviCRM synchronized. You can find it here

This extension allows you to configure groups or smart groups in CiviCRM so that they synchronise (in either direction) with Mailchimp lists.

The extension is compatible with CiviCRM 4.7.x and 5.x.x versions (Extension compatibility with 4.7.x generally implies forward-compatibility with 5.x.x)


Pierre94, Welcome to CiviCRM stack exchange. To add custom listing is not straight forward if you not a developer.

To add custom listing you will need to

1. Add listing option

Navigate to CiviCRM >> Administer >> System Settings >> Option Groups. Find for 'Participant Listing' and click edit option besides it. Add new option with label as listing name and and Description as class name to invoke when viewing this option eg CRM_Event_Page_ParticipantListing_NameStatusAndDate.

Implement the listing using code in your extension

Copy paste any php file from here into your extension directory(use the path same as defined in your listing option). Similarly do for tpl from here. Modify the php and tpl file as per your needs.

Thanks

Pradeep


CiviCRM integration with bespoke custom CMS?

It's possible that you could build an integration component to make it work with your custom cms, but it probably wouldn't be worth the effort.

Your best bet would probably be to use the api to accomplish an integration on the pieces you care about.  The api includes methods for most functions, including inserting, updating, deleting and retrieving data using php, rest, smarty and javascript interfaces.  As well as html/js snippets for forms to be embedded into your cms html.  See:
http://dmaster.demo.civicrm.org/civicrm/api#explorer
log in as demo/demo.


Bug with Check for Matching Contact(s) button

Coleman recently pushed a fix for this on git. Can you please apply the patch and QA if it fixes your problem(if so please comment on PR about your QA result)

HTH

Pradeep


How to change hard coded limit of 50 transactional emails?

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

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

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

cv api setting.create simple_mail_limit=99

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

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

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


FAIL : first and fresh install of CiviCRM 5.36.1 on BACKDROP 1.83

The URL looks off to me. The link to the dashboard should be /civicrm?reset=1 and to the status page /civicrm/a/#/status. /civicrm/a/ is not a page and I also get "Unknown path" when navigating there in a Backdrop install. Perhaps check to see if your URLs are being rewritten in apache?


Custom Case Fields do not work in Drupal Views

I spent some time on the setup of the Views and it does actually work. However, what is missing is the relationship in the View. It is subject to the type of view you try to create and the relationships. Also remember to choose the CiviCRM Custom: [Field_name] instead of the one provided by CiviCRM Entities.


Mass hosting best practices for source code management of CiviCRM platforms?

I like that drush make or composer reduce the amount of code in your repository, and encourage IMO better development workflows (eg submitting and documenting patches rather than forked codebases).

However I am also running into challenges using Drush, which is quite Drupal-centric and requires some working around rather than with if you don't do what it expects (profile modules to profiles/ folder etc).

Best of both worlds if you build a deployment branch which is the complete codebase, but it does require that the whole team is OK with patchwork and building - this may be a factor.

Two nights ago I noticed that deploying CiviCRM codebase via Git had a cost of an extra 100MB per site (plus some). Not the biggest cost, but may be a factor if hosting many CiviCRM on a server.