VBO (Views Bulk Operations) - Bulk Operations field not showing in field list

Using VBO with CiviCRM views requires the CiviCRM Entity module, so
make sure that is enabled.
CiviCRM Entity does not expose all CiviCRM entities as Drupal
entities by default.  Go to
admin/structure/civicrm-entity/settings to enable the right
entities - in this case, Contributions

(Thanks to @jackrabbithanna on chat: https://chat.civicrm.org/civicrm/pl/85qwezc5d3fo3jr4hxgafoyn4r)


How to display a contribution page in a drupal block (NOT USING WEBFORM)

I don't think it'll work, no. Normally this might be done with &snippet=1, but it looks like that has a different meaning on contribute pages:

http://d45.demo.civicrm.org/civicrm/contribute/transact?id=1
http://d45.demo.civicrm.org/civicrm/contribute/transact?id=1&snippet=1


Determine client of new case from within hook

The post hook does not perform as expected for cases :-) I have done some mods to do exactly what you are doing: automatically assigning a role. I have done this in 2 ways:

using the post hook on the Activity Open Case
using the caseSummary hook and checking if there is no other activity than Open Case. In this case I still allow the user to override what I have done as it would then have more activities than just Open Case

A refactor of CiviCRM Case is still on my wish list :-)


How to allow anonymous profile editing on Wordpress

the above should all be fine though that looks like a Drupal link. So if you want people to get a confirmation email when they pay for membership that contains a checksum link to a profile then I would suggest using a Scheduled Reminder triggered off a change of Membership status, and include

WordPress: http://www.myorganization.org/?page=CiviCRM&q=civicrm/profile/edit&reset=1&gid=N&{contact.checksum}&id={contact.contact_id}

where N is the id of the Profile you have set up with the fields of 'contact related' data you want them to edit.

Check your links here


How to start contributing for GSoc 2016?

Thanks for your interest.

As one of the admin for this year, I'm going to try to explain a bit more the process.

So right now, we are in the process of applying to be selected as one of the organisations Google supports, until this is done and if we are chosen again, you will then need to wait a bit more before being able to apply to the GSoC and propose a project with CiviCRM

For the detailled timeline: https://developers.google.com/open-source/gsoc/timeline

As a student, you will need to show us that you are interested by our organisation, are motivated and have the skills -or will get them quickly- and work well with your mentor and the community at large.

So definitely, doing things like participating here and asking or answering questions, hanging out in IRC or in the GSoC part of our forum are all good steps, you are on the right track!

This year, we will be stricter on the selection process, both because we want to get students that have a high chance of succeeding their project and because we want them to have a positive first experience contributing to an opensource project and hopefully stay after the summer... and who knows, find a job thanks to that summer once they finish their studies.

So we will expect the students

to have installed civicrm (the development version)
being able to use git to modify files and create pull requests
being able to report daily on what they have done and where the need help
having good contacts with their mentors, and weekly update

We will want that reporting and communication as light as possible, but not lighter.

We will test these points, we will have tests around the git workflow, and you will need to work with your mentor to prepare the project proposal and have something both the student and us feel will be doable in the timeframe and useful.

Right now, we have a discussion with other organisations that participated to GSoC and are compiling the best how-to and processes, we should publish our own version tomorrow.

Stay tuned...


Can custom Tokens for pledges be created?

seems we have done work to create such a new token but it has not yet been contributed back to the civitoken extension. would you be able to help fund this to happen.

Also a colleague reminded me we have done some work so that you can generate a checksum with a link that will take the person through to a contribution page with the Pledge ID and Amount in the url so the form loads with the right data. Doesn't deal with your first request, but could be really useful if the reason for sending them the 'amount' is because you want them to pay, and to have an easy online way of paying that actually connects the payment to the relevant pledge


Transactional emails, such as confirmations, are not going out

CiviMail isn't responsible for anything other than Bulk Mailouts.

There are Scheduled Jobs required for things like Scheduled Reminders which you can find at civicrm/admin/job?reset=1

In case you hadn't spotted, there have been two SparkPost extensions released. the other is here. Not suggesting either is better, or even how relevant it is to your issue

If you just click 'Send Email' via Actions on a civi contact record, does it get sent?

And what is the outcome from send a Test Email from /civicrm/admin/setting/smtp?reset=1


Bring up contact by Amatuer Radio callsign rather than name

As Laryn notes, it should show up in the Custom Fields section of Advanced Search anyway providing the field is marked as searchable.
You can search by callsign in the Quicksearch box by going to Administer > Customize Data and Screens > Search Preferences and ticking the callsign field in the Quicksearch options box.


If you install it from github you need to run the following command in the directory of the plugin composer install
This is explained in the readme on Github.
The easiest way to install this plugin is on the Manage plugin page in your wordpress installation and then press add plugin and search for this plugin in the plugin directory.


Why do I have GenCodeChecksum uncommitted changes after a fresh civibuild create?

tldr: It's safe but mildly annoying. Please feel free to send a pull-request to update these files.

Longer: DAO files are auto-generated when civibuild calls the script xml/GenCode.php with the data in xml/schema. However, running GenCode is traditionally pretty slow -- even on a fast workstation, it can add 30 seconds to the build-time.

Starting somewhere in 4.7.x, we did an optimization: if the checksum looks right, then GenCode keeps the DAO. (Hooray, faster!) If the checksum looks wrong, then it regenerates the DAO.

In a typical scenario, you might edit a file in xml/schema, then run GenCode, then observe several changes to your local DAO. The GenCodeChecksum would be one of several changes. You'd commit those changes and send them in with the PR.

Right now, I see something like what you describe -- the only difference between the upstream DAO and the local DAO is the checksum. This can happen occasionally (eg if there were contemporaneous PRs manipulating schema and the precise order-of-operations was unfavorable). The consequences are:

GenCode spends an extra second regenerating 1-3 files.
Your git diff shows something unexpected on 1-3 files.

That's mildly annoying - but you still wind up with the right code, so it's safe.

You can fix it by submitting a PR to update the DAO's with the latest GenCodeChecksum.


CiviRules update interfering with another plugin?

Found the problem. This is a multisite setup, and only one site has the custom plugin installed. So my hacking the Mailing/Event/BAO/Unsubscribe.php made one of the sites fail when it reached the call to the function defined in the custom plugin—but it couldn't find the function.

I didn't realize that the cron error emails I was receiving were for a different site than the one I tested manually. Hence my confusion about success manually running the Fetch Bounces job, but errors when it ran via cron.

Regarding the proximate trigger/cause: since I was logged in and saw the prompt to do so, I upgraded CiviRules at the same time I sent a new mailing. The new mailing bounced to two addresses, which caused the Fetch Bounces job to attempt to process them. I mistakenly thought there were no emails awaiting bounce processing, because, again, I was looking at the bounce email account for the wrong site. That seemed to point to the CiviRules update having done something strange.

So CiviRules probably had nothing to do with it... But I am still slightly confused, because I'm pretty sure there were bounce emails needing processing even before my simultaneous CiviRules upgrade/sending a new mailing. Before that change, the Scheduled Jobs log for Fetch Bounces shows:

  Finished execution of Fetch Bounces with result: Failure, Error message: A fatal error was triggered: Could not connect to MailStore for return@ourdomain.org@mail.ourdomain.orgError message: An error occured while sending or recei (...)

And I wasn't receiving cron error emails to let me know it was failing. After the update/mailing send, the job log shows Start, but never any Finish entries. So it seems my core hack broke it a while ago, but that either the CiviRules update, or my sending a new mailing, changed the way in which it failed.

Anyway, I'm glad it's not bombarding me with error emails now, and that it's actually processing bounces. People who find this issue can enjoy my classic PEBKAC (Problem Exists Between Keyboard And Chair)!


Cannot Record Payment to a Contribution in Pending Pay Later Status (WordPress 5.0.10, CIVICRM 5.21.2)

thanks for your guidance, here is the PHP error and it led me to the solution:
Fatal error: Uncaught Error: Call to undefined function bccomp() in
/var/www/html/wp-content/plugins/civicrm/civicrm/CRM/Financial/BAO/Payment.php:374
..

this prompted me to install bcmath:
sudo apt-get update -y
sudo apt-get install -y php7.2-bcmath

restarted apache and the problem went away.


Flush system cache does not work during installation of Drupal Profile

Haven't done that, but if the focus is on manipulating the content of the settings, then one of these might help:

Try adding calls to Civi::reset() and/or  CRM_Core_Config::singleton(TRUE,TRUE) to clear out any statics/singletons/thread-local caches.

Civi's headless unit-tests do this (via CiviTestListener). Note that one should only do it while Civi logic is _not_ active in the same thread -- e.g. it's OK to run when PHPUnit is doing setup/teardown because the statics/singletons/caches are essentially inert; but if one did this while running hook_civicrm_config or a Civi page-controller, then some active function on the call-stack may implicitly rely on them, so the behavior would be ill-defined.

Proactively initialize the settings (Civi::setting()->set($key, $value)) before activating the extension. Don't rely on the default values for the settings.
Try working with the SettingsManager (Civi::service('settings_manager')). This has its own flush() operation.

Since this is included in System.flush, I don't have high expectations... but it is imaginable that your use-case requires flushing with a different _sequence_ of operations.


cannot access /wp-admin/options-general.php?page=civicrm-install after installing 5.28.3

Is CiviCRM already installed?
Even if the DB is clean, does the wp-content/uploads/civicrm folder exist with the civicrm.settings.php file in it.  The installer does not expect that to be there.
You shouldn't hit the install page on an upgrade.  I'd expect you to go to http://example.org/wp-admin/admin.php?page=CiviCRM&q=civicrm/upgrade&reset=1
Full docs are at https://docs.civicrm.org/sysadmin/en/latest/upgrade/wordpress/


How to autofill/autopopulate profile forms?

I think the issue is purely to do with your URL - you have the 'create' link - which is intended to provide an empty set of fields.

If you change to http://d45.demo.civicrm.org/civicrm/profile/edit?gid=15&reset=1 you should see the data pre-filled


Call event registration with specific language through Wordpress

Polylang is not supported by CiviCRM yet but it should change soon : I have just submitted a patch here : https://github.com/civicrm/civicrm-core/pull/11312

If you still have a need for this functionality, you should try it and confirm if it resolves the problem.

To make it work with the patch :

Install Polylang and configure at least 2 languages

Configure CiviCRM in multiligual mode with 2 languages and set "Inherit CMS Language"

In civicrm.settings.php, uncomment as needed lines like : define('CIVICRM_LANGUAGE_MAPPING_xx_XX')  (to resolve ambiguity between language short 'fr' and language long form 'fr_FR' or 'fr_CA')
Create a contribution page and translate at least the title
Add a page with the shortcode to the contribution page and translate it to the second language

You should be able to go to one page you've created and switch language to have another version of the same form


Getting "set_time_limit() has been disabled for security reasons" when importing a CSV file into contacts

This case has been solved in adding this two lines in the wp_config.php file after the define section:

ini_set('display_errors','Off');

ini_set('error_reporting', E_ALL );

It is also important to solve it because it can have consequences for CiviCRM (for us in the import process).
Hope this helps


Authorize.net not recording processor fees

Authorize.Net doesn't return this information, which is why it's not available in CiviCRM.

One of the fields returned in the PayPal API documentation is transaction_fee. Authorize.Net's API documentation has no equivalent in the "Response" section.

The reason is that Authorize.Net can't tell you the transaction fee based on a single transaction, because their calculations are more complicated than PayPal's.  PayPal charges a high amount on every transaction, so they can give you a simple pricing structure.  Authorize.Net gives, e.g., variable rates based on volume, which can't be calculated until your month is over.


Difficulty setting up CiviMail on Bluehost

Your cron script may not work as displayed because $PHP is not defined, and because PARAMS= -j -smydomain.org -u mailsender@mydomain.org -p xxxxxxxxxx -e Job -a process_mailing will not define $PARAMS without quotemarks surrounding the variable value (instead you get a *sh error).

I suggest adding a MAILTO line with your email at the top so you receive the error output - this will help you debug if/when it fails.

MAILTO=you@example.com

I suspect that your website is not hosted at /var/public_html on Bluehost also? Might want to double-check that value, you might mean ~/public_html

Try this, amending values to suit your email/website?

MAILTO=myself@example.org
PHP=/usr/php/54/usr/bin/php
CIVI_ROOT=~/public_html/mydomain/wp-content/plugins/civicrm/
PARAMS=" -j -smydomain.org -u mailsender@mydomain.org -p xxxxxxxxxx -e Job -a process_mailing"
*/5 * * * * cd $CIVI_ROOT; $PHP bin/cli.php $PARAMS


Custom field saves, for all entries, instead of wanted data a number that is not in original data

Well it seems that I had to delete the set and re-create it again in order for it to work like it should. Why, I've no idea.


When you delete contacts, by default  they go into trash and don't completely disappear so you can still keep them. More info here https://docs.civicrm.org/user/en/latest/organising-your-data/contacts/#deleting-contacts


Fresh WP install succeeds then fails - path or permissions problem?

The civicrm files directory /volume1/web/wp-content/uploads/civicrm don't have required permission. Either change the ownership of the directory or give 755 permission.


You can use basic pattern valid in LIKE operator of sql where clause.

For Eg - Using %tech% would result in all three rows.

Similarly you can use [, ], and _ symbols.

To find more about search strings - see Pattern Matching in MySQL  (AFAIK you can use only LIKE patterns here not REGEXP).


Are there recommended directory ownership and permission settings for CiviCRM files?

These are the Unix/Linux permissions I tend to set my permissions for CiviCRM directories in Drupal 7:

chmod 555 sites/default
chmod 644 sites/default/settings.php
chmod 644 sites/default/civicrm.settings.php
chmod 770 sites/default/files
chmod 755 sites/default/files/civicrm

I generally have the ownership set to the hosting account username and the group to the server group, like apache so something like:

sudo chown username:daemon -R httpdocs


What is the best way to record in-kind contributions?

If you create a separate financial type for in-kind donations, you can both track those separately and exclude them from the contribution reports (so as not to confuse things when you try to report on actual monetary gifts).  So far none of the clients I have that track their in-kind gifts in this fashion have encountered difficulties with it.

Hope this helps,
Lesley


Error on [civicrm.root] as CiviCRM Resource URL

Mistake by myself: there should be a slash at the end of the variable:

  $civicrm_root =
  '/home/myuser/domains/mydomain/private_html/sites/all/modules/civicrm/';


I ran an update to Joomla 3.4.8 and it resolved the issue. There must have been a bug in Joomla 3.4.7 which caused the cron issue.


I see the name of the function is attachments and the file name is attachment. Maybe, you just need to remove an extra "s" from the function name?

function smarty_function_attachment(array $params, Smarty_Internal_Template $template) {
  .
  .
}


How can I move my Form Processor configuration between two sites and/or reorder my actions?

An alternative method for quick copies is this:

Press the Export button.  Save the resulting JSON text to a file.
Copy the file to the new server.
Go to Support menu » Developer » API Explorer v3.
Select an Entity of FormProcessorInstance and an Action of Import.
In parameters, set Specification File to the absolute file path (on disk) to the JSON file.
Press Execute.  Note the value returned for new_id.

To break the connection to the file (so it can safely be deleted), remove the source_file value for the corresponding record using the new_id above:

In API Explorer, change the Action to Create.
Set ID to the new_id value from above.
For your second parameter, select Other and enter source_file for the name.  Leave the value blank. See screenshot below.
Press Execute.

Reordering actions
You can export your form processor as above, and manually edit the JSON to reorder your actions.  Be careful about putting actions below another action that depends on its output.  Once you're happy with your edits, import per the instructions above.


I would suggest you to not use that folder anymore (Allen is detailing where you can set it), but to write extensions.

What is usually done is to copy paste an existing php file from the core and alter it to fit your need. However, as the original file is likely to be modified in the core between versions, you will either end up with your modify version that has diverged from the core, or you'll need to apply your changes at every upgrade.

Most of what you need to be changed can usually be done more safely and robust from an extension, using hooks


On Language change civicrm api for participant status change does not work as expected

Even if the label is different in English and Chinese, the above API with 'status_id' => "Registered", parameter should work fine as it is meant to make the mapping based on name and not label.

Anyway, I think you should be able to use id instead of passing the name of the participant status in the api params. Something like -

$statusOptions = CRM_Event_BAO_Participant::buildOptions('status_id', 'validate');
...
...your api ...
...
  'status_id' => array_search('Registered', $statusOptions),

If the above fails, and you still want to do this by knowing which language is enabled, you can simply use -

$currentLanguageLocale = CRM_Core_I18n::getLocale();

The variable $currentLanguageLocale will hold the locale value of the current language enabled in civi.


Membership tokens missing after upgrade to civi v5

You may find this provides the missing feature you need

https://civicrm.org/extensions/nzcofuzioncivitoken


Custom Email Greeting token doesn't work

Any chance you don't have smarty enabled for civiMail so your capture-assigns and ifs aren't working in the mail?

Try checking your civicrm.settings.php file and look for the line

define( 'CIVICRM_MAIL_SMARTY', 1 );

as per https://backofficethinking.com/blog/tip-how-personalize-emails-civicrm. If you don't find it, or if it's set to 0, you'll need to add/change it for this to work.


I was able to create a Tag set as a Custom Field for Contacts. I was then able to save the selections made by a user through a Profile. This solution is sufficient for my application.


How to change the value of a custom radio button field programmatically?

If the options that are shown on the profile are custom fields, then the radio options displayed might be the option values of some option groups.

To add/remove any options from the profile, you can make use of fieldOpions hook. Eg -

function hook_civicrm_fieldOptions($entity, $field, &$options, $params) {
  //replace 1 with your custom address field id
  if ($field == 'custom_1') {
    $options['my_option'] = 'My Custom Option';
  }
}

Check the doc for more info about the param, etc.


Illegal characters in email signature field

I think that you have a browser plugin installed which is interfering with CiviCRM.

For example, this page suggests that it may be a Firefox addon called "YouTube Auto HD".

Troubleshooting

For troubleshooting purposes, I'd suggest trying each of these to gain more info:

Try with a different web browser (i.e. Chrome vs Firefox).
Try the same browser, but with all extensions/plugins/addons disabled.
Try clearing your browser cache.

Diagnosing

Hopefully the above steps allow you to learn more about the root cause of the problem. So if disabling all your browser plugins did the trick then you could try disabling them one-by-one to find the culprit.

Fixing

Then if you do find that one plugin is giving you trouble with CiviCRM and keeping that plugin installed is important, then I'd suggest either:

contacting the plugin author to complain about its behavior
finding a suitable replacement plugin that doesn't have the problem

In theory you could submit a bug report to CiviCRM, but given the behavior you've described, I think it's unlikely that we'd be able to easily change CiviCRM to make it compatible with a browser plugin like this.


How to relationships field on the contact profile

The "Current Employer" field is special in that the employer_id is actually stored on the contact record (in the civicrm_contact table on the underlying database).  All other relationships are stored only in civicrm_relationship.

Nevertheless, you could fake this:

Create a custom field of type "Contact Reference".  This by itself might meet your needs - do you still need a relationship if you have a contact reference field?
If so - you can write an extension (if you're not a coder, you can hire one to do this for you) that fires on hook_civicrm_custom.  When they contact reference field is changed, a corresponding relationship can also be updated.


What is the recommended upgrade increments to CiviCRM 5.7 from CiviCRM 5.0?

The 5.x series has a new point release every month, with a focus on stability (generally, large new features go into extensions).

So upgrading 5.0 -> 5.7 is the equivalent of upgrading 4.7.20 -> 4.7.27, a minor upgrade and generally considered safe to do at once.


CiviCRM installation on Ubuntu via package manager

This is very new work - CiviCRM was recently packaged for Debian by a Debian developer.  It's in Debian sid now, and Ubuntu seems to be pulling it in from there.

In short - it's not documented yet because it's new, and it's hard to say if there are issues with this approach because not many folks are using it yet.


I think you're asking whether to try upgrading or just start with a fresh install. It is definitely possible to upgrade from 4.7.31. You'll want to update php too since you're probably still using php 5 and that won't work with the latest civi.


Make it a -user select-  and then if you want to narrow down the options -> switch the element configuration to static (live is default). When static you can not only decide whixh Groups a user can select - you can also order them - and relabel them.


How can I convert/export my mailing (a newsletter) into a PDF

Welcome to SE CiviCRM. When viewing the mailing you can click on print icon on top right corner. Which will pop up a screen to print, where you have an option to print as PDF. Other than this i don't see any option in CiviCRM to export the mailing into PDF

HTH

Pradeep


Missing indices error followed by missing system status page

This sounds similar to Status page angular load error and i will paste my answer here, though I think your 'question' is the wrong issue, ie this is angular issue, not missing indices issue.

We had one site that had 'lost' all it angular pages, eg CiviMail and System Status.

In our case the angular cache files were returning 404 on the New Mailing page. (and 'inspector' was showing a lot of red angular errors)

It was building the cache files in sites/default/files/civicrm/images, but then searching for them in sites/default/files/civicrm/persist/contribute

The issue here was a mismatch between the resource url setting for Image Upload URL and the directory setting for Image Directory. Strangely (!!) these folders are being used for caching of angular files.


How can I have both Participants Custom Data and Contacts Custom Data in a Drupal View

You need to add the Relationship (click open the Advanced fieldset on the right side in your View) to bring the Contact data to the party.

Here's how:

Create a View: Show CiviCRM Participants
Relationships: add CiviCRM Contributions: Contact Record ID

That will bring the entire CiviCRM Contact with custom fields to the party


Has anyone successfully setup Mandrill with CiviMail for bulk?

I've been doing some testing with the last release of the Mandrill Emails Extension and it's looking pretty quick and simple with the new version to do both transactional and bulk mailing (CiviMail) through Mandrill. Basically you install it, plug in your Login/API credentials (Administer > System Settings > Mandrill Smtp Settings), and indicate one or both of the types of email you'd like to use Mandrill for:
.

To get the report backs on bounces and the like, you use the "Mandrill Post to URL" on that screen to set up a Webhook in your Mandrill account and get notifications for all events except a message being sent:

In the little testing I've been able to do, it seems pretty much plug-and-play in terms of the bounce reporting getting back into CiviCRM.

The updated README is quite thorough, too.


Moving contribution from individual to organization

Run below query in mysql
UPDATE civicrm_contact
SET contact_type = 'Organization',
organization_name = sort_name
WHERE id = 123;

123 is a contact id


How do I set up PhpStorm for CiviCRM development?

Regarding your first question you can set up phpstorm to use another project directory rather than the .idea direcory in your civicrm root.

I usually have an install of Drupal with CiviCRM plus drupal modules plus extensions and only the extensions are link to git.

I am also curious on how to use web tests in php storm... Did not know it was possible...


Fundraising event - can I sell tickets AND collect donations?

one way you could do this is to create one field in your priceset for the ticket (probably making it required to ensure that they actually purchase tickets), and then another field (not required) that's a text field with a value set to 1 (which will multiply by the amount they enter), e.g., https://www.screencast.com/t/Db1nHAWfA (You can also set the financial type to something besides Event Fee for the additional contribution, if desired.)

Lesley


get source table values in civicrm_triggerInfo

I'm not familiar with this hook, but the manual seems to suggest that OLD.column_name and NEW.column_name can be used to access old and new values respectively.


Minimum permission set to enable Manage Contribution Pages?

Administer CiviCRM includes administering Contribution pages. You can create a role for administering the CRM (such as editor) and then actually restrict menu items to that same role so that they don't have easy access to everything else. However, it would be pretty hard to make a contribution page without being able to access nearly all the other settings.

Managing the contribution pages is a higher function.


How to add a new entity in CiviCRM extension

You need to install civicrm using buildkit to ensure you have all the dependencies / tools / files.
Then have a look here: https://docs.civicrm.org/dev/en/master/extensions/civix/

Examples of extensions that have done it (see ./bin/setup.sh for a scripted method of DAO creation): https://github.com/civicrm/org.civicrm.volunteer
And https://github.com/3sd/civicrm-sms-conversations/


How to build reports or Views based on who the Manager is

As for how to do aggregation on custom Views fields, I can speak to that. This answer doesn't provide how to decide what is an open case or having a case manager...I'll leave you to that, but here's how you can aggregate it once you get there!

This can be done with a custom Views field handler + Views Aggregator Plus module.

The Views custom field handler must be specially constructed. Below is an example from one of my projects. I've removed some logic from this example...The key is that you calculate and set the values to the rows in the post_execute() method, with a property name that starts with "field_", with a ['raw'] array index value. If you do that then the Views Aggregator Plus module will "see" the data and be able to manipulate it.

In this example I calculate the number of enrollments to courses for each user, and set that value.  The View lists users, and includes this field, and is then summed via the php aggregation. You can do something similar, and then use get a count.  In your case you would probably return 1 if the row (case) is open with a manager, and not set it or set it null if it is closed or not having a manager.

Views Aggregator Plus enables PHP based aggregation to views as opposed to SQL based aggregation which is default with Views.

class tincan_course_product_handler_user_total_enrollments_field  extends views_handler_field {
  function construct() {
    parent::construct();
  }

  function query() {
    $this->ensure_my_table();
    $this->add_additional_fields();
  }

  function post_execute(&$values)
  {
    foreach($values as $index => $value) {
      if(!empty($value->uid)) {
        $uid = $value->uid;
      }
      elseif (!empty($value->users_civicrm_uf_match_uid)) {
        $uid = $value->users_civicrm_uf_match_uid;
      }
      $total_courses = NULL;
      if(!empty($uid)) {
        $user = user_load($uid);

        $total_courses = tincan_course_product_get_users_get_total_default_product_count($user);

      }
      $values[$index]->field_total_enrolled_courses['raw'] = $total_courses;
    }
  }

  function render($values) {
    return !empty($values->field_total_enrolled_courses['raw']) ? $values->field_total_enrolled_courses['raw'] : 0;
  }
}

Views Aggregator Plus works similarly to standard Aggregation, but you must use the provided Format, "Table with aggregation options" provided by the module.


How can I report a bug caused by an extension?

You must report it to the extension author.  The CiviCRM core team doesn't have any control over third parties who write extensions.

To find the author's preferred place to report a bug:

Go to Administer menu » System Settings » Extensions.

It might be in Administer menu » Customize Data and Screens » Manage Extensions if you upgraded from an older version.

Click the triangle to the left of the misbehaving extension (see screenshot below).
Click on the Support link and submit your issues there.

Usually the link will be to an issue repository - possibly on Github, possibly on the CiviCRM GitLab.  Occasionally it will be to Stack Exchange.

Some authors may only offer paid support.  Please remember that extension authors give their work away for free and treat them well!


Hook to stop a contact's email from being deleted

You can use ValidateForm to check all form level action. Also you can use pre hook to check if email is being deleted or updated and then throw fatal error or exception.

HTH

Pradeep


How to display an Event's custom field on its registration form

I guess the custom fields for Event are not available in smarty on Event registration form but are available on Event information page. But you can retrieve the custom fields for an Event using api. You can use below snippet in tpl file to get custom field data

{crmAPI var='result' entity='Event' action='getsingle' return="custom_81,custom_82" id=$event.id}

The return value specifies list of custom fields that i would like to retrieve. You can remove return option if you would like to get all the Event data including custom fields.

  To print you can use {$result} variable eg. in above case i would use
  {$result.custom_81} and {$result.custom_8}

HTH

Pradeep


It might help to differentiate types of testing, e.g.

(User-oriented) Click-to-test/in-app test - This is the type of test supported in the CiviMail UI (which sends an example mailing). As dlobo points out, this type of test was not originally part of the scheduled reminder system, but it would be a great addition.
(Developer-oriented) Unit testing - For developers who work on the code, there's a series of automated tests in ActionScheduleTest which simulate a dozen configurations/schedules.
(Sysadmin-oriented) Adhoc testing - At the low-end, one might simply create a fake membership record and set the expiration date to today. At the high-end, one might replicate a site in an isolated environment (eg a local virtual machine), redirect email to disk (CIVICRM_MAIL_LOG), and manipulate the clock in the virtual machine. (This may require a deep understanding of the system as well as a lot of time/patience/discipline.)


After upgrade, I can't generate pdf letters for printing. How can I enable wkhtmlpdf to handle pdf conversion?

The fix was to uninstall/reinstall sumfields! However, I had to manually delete row/drop tables (value_sumfields and custom_groups) in order to "clean install" sumfields. Still don't know why, but my instance was buggy. The usual uninstall/install procedure in the extensions manager didn't work for me. Talked to Jamie McClelland and he confirmed that I could/should manually make changes to the tables and then reinstall 3.1.1 of sumfields. NOTE: I had originally assumed that the problem had to do with wkhtmltopdf and so started down a bunny trail. For some reason upgrading from 4.7.22 to 4.7.29 AND having sumfields enabled AND using alternate pdf generator caused/revealed the problem on my instance. I will continue to investigate this, but I want to give a big shout out to Aidan at Squiffle and to Jamie at Progressive Tech Project for sticking with me.


What is causing default membership type error?

I think the answer to this was that there was a bug whereby the 'weight' was being used in one situation, whereas the type ID was being used in the other. And this error only showed up if you had changed the 'weight' ie the order of your Membership Types.

To quote the ticket in JIRA

  In the contribution page edit form, the default is selected by membership_type_id. When the contribution form is displayed, it's using the weight of the membership type instead

This has now been fixed by the Fuzion Team.


CiviMail sending delayed - how do I configure a cron job?

I sounds like you either don't have a cron job configured to run the Scheduled Jobs at regular intervals, or you don't have it configured correctly.

What have you tried using as the cron command when you tried to set that up, and/or what errors does it give? (Edit your question above with further information)


Best strategy to restoring backup by importing csv file

In general, importing/exporting using csv means you will lose data, eg log history of change, the "real" creation date instead of the restore one...
If you can at all, I would suggest to backup restore the database itself, rather than only the contact via csv.

This being said: do you have an error message? it might be a matter of memory, try to increase what php can use. Or select on the export what fields you really want to export, the default tend to include lots you don't really need.

If you can, try to create a temporary table that you import/export with phpmy admin (not civicrm_contact, say got for backup_contact), on the import step you can choose to import from sql rather than csv


way to test stripe recurring failed payment

I think you can use unit test to check Failed recurring from stripe extension. It does cover most of the test for IPN.

You can find more details about the unit test here.

HTH

Pradeep


Please refer the below link

Is there a way to disable the wysiwyg editor when editing mail templates?

you need to disable the Editor before user access the editor page


Outgoing Mail Settings, CiviSMTP & PHP 5.6.x Problem

The recommended and least invasive fix is to resolve the underlying SSL issues.

It was intentional that PHP5.6 tightened security here. If your hosting environment doesn't validate the SSL certificate you're communicating with, one of these things is probably true -

The hosting environment has a misconfigured certificate chain. (Fix varies by hosting environment - for Debian, apt-get install ca-certificates - there's probably already a Stack Exchange answer for any other specific OS/environment a site is hosted on.)
The remote service requires that you install a custom CA chain before their certificate validates. (Perhaps your SMTP provider uses a self-signed SSL certificate, or a cert from a certificate authority not installed on your hosting environment.)
The remote service has a misconfigured/bad SSL certificate. (Ask remote service to fix SSL.)
The connection between the two is being interfered with. ( )

Identify whether it's your hosting environment or the remote site's SSL which is failing, by testing multiple remote sites from multiple client environments. This SE answer shows how to test with openssl command from CLI and has links to web services for same.

Then resolve the SSL issues at whichever end they are occurring, until SSL validates and your CiviCRM is able to connect again.

This assumes that you can resolve the underlying SSL issues! If the remote site offers SSL without a valid chain, or uses a certificate which your server can't make sense of (ex: this libressl bug - as opposed to a valid CA you just don't have installed), then you just can't have SSL validation.

Alternative solutions (not recommended)

Unless you're running CiviCRM for local development and with fake contact data,

Don't disable PHP5.6's SSL validation by default. This is best avoided.
Don't downgrade to PHP5.5. This combines disabling SSL validation with downgrading to an unsupported version of PHP, so it's worse!
As of early 2017, OSX / CiviCRM / Gmail may also be affected by this homebrew issue or this libressl issue. (That's an unlikely combination to find in production though.)


Is there a way to disable the wysiwyg editor when editing mail templates?

Editor can be disabled completely by the following

Administer > Customize Data and Screens > Display Preferences.
CKEditor  can be changed to TextArea

http://book.civicrm.org/user/current/initial-set-up/customizing-the-user-interface/

For specify Action

Editor can be disabled before editing the template using SQL

civicrm_setting table holds the CKEditor setting

Id: -         11

Group name: - CiviCRM Preferences

Name: -        editor_id

Value: - s:1:"2";

If the value is made null then it changes to Text Area and later it can be changed back to CKEditor

But, any member accessing the Editor at the every moment like in contact summary screen for creating PDF at the same time cannot view Editor till this is been changed -


How do I update CiviVolunteer, from the UI or from the command line?

You will need to

Go into your extension dir and remove the civivolunteer code that was
installed with your buildkit.

Then git clone their master (to get the latest).

Then go to the Manage Extensions page to check if there are any
prompts for database updates.

Then disable a small other extension and re-enable it. Or just enable
another new extension via the Manage Extensions page. This will
trigger managed entity updates.


Fortunately, in CiviCRM 4.7 (and Civi 4.6.17+), installing ANY extension will recreate your missing logging tables.  Not that enabling an extension isn't sufficient - you must install an extension.  See CRM-15078

The reason this works:  If advanced logging is enabled, extensions without a corresponding logging table will generate errors.  Because an extension can add a table, there's a function that runs whenever an extension is installed called "fixSchemaDifferences".  It checks for any tables without a corresponding logging table and generates it - whether or not that table was added by the extension or not.


Is there a way to prevent two 'home' addresses for a contact?

The form validation in the user interface will prevent this. So there's no need to have a setting that would prevent it.

But the API does not prevent it: you can,  for example, create a second Home address for a contact through the API.  There is no API configuration or option to prevent this.

Thanks @Coleman for pointing this out.


webform participants extension - maximum of 9 tickets until error

You could raise an issue if you can identify the actual issue but we have this working on webforms with up to 30 tickets afaik

Pls dig in to your logs and see if you can find more information


Install CiviCRM alone or as Wordpress plugin?

You cannot install CiviCRM standalone, you need to install it as part of a Drupal / WordPress / Joomla! / Backdrop CMS system.


Importing Activity Error '1' is not a valid option for field custom_133

What is the field type of the custom_133 field? I'm guessing it is an option group/ select list type of field. In that case, you would have to make sure that the value of the field you are supplying in the import matches to either of the option values that the field has.

HTH,
Edsel


How to create file type custom data with API?

You can create a custom group with the CustomGroup API, and custom fields with the CustomField API. Is that what you mean, or do you mean updating the actual data within a custom file?


Best way to manage common contacts between 2 CiviCRM databases?

I am by no means an expert or experienced with multi-site or multi-org implementations but this is my take on it.

If the two Orgs were going to be perpetually involved with each other then it would make sense to setup one Civicrm instance and share the database. Utilizing the Multi-site and Multi-org settings found here.

However, since the two Orgs will not be perpetually involved that doesn't really make sense (at least to me). I would, if I were implementing this instance, setup Civi for each Org separately. I would obtain an export (hoping Org A allows it) of their contacts and import those contacts into the Org B's Civi install for an initial load. That way you would start out with identical contact databases. You could occasionally obtain an export from Civi OrgA's contacts and import into Org B's civi install utilizing a de-dupe rule.

You could also, if you have a developer or want to pay for it, create an extension or script that would sync the contact databases at regular intervals.


There are several parts to your question, so I'll try to address them separately.

Part 1 you can handle with price sets.
Part 2 can be handled with the CiviDiscount extension, if the requirement is that both children are registered at once.  If they can be registered separately, you'll need a hook that checks for the relationship.
Part 3 is the tricky part - what you're looking for is called "front-end partial payments".  This has been written as custom code by Back Office Thinking - and there's a group of developers gathering funding to build something like this in core.  However, there's no way to do this today without custom code.
Part 4 you can also handle with a price set.


How does using CiviCRM compare to using NationBuilder?

never used it directly, but had some customers that switched between civi and nationbuilder, in one direction or the other.

so the thing they liked better on nationbuilder was as well the thing they liked less: the ui is more polished, but/because you can do less. less features, less customisation, so easier to use and maintain.

a friend working for a political party that used it for all their candidates in the latest election said that the integration with social media- eg. from an email address being able to know the twitter or facebook accounts and how many followers and friends was quite nifty... but not always working as well as they hoped.

not sure how your extension compares to that, you're using the same base as they are, aren't you?


Controling the order on wordpress contribution pages

There is no UI enabled way to control the order. You'll need to do some of the above via a custom template.

The profiles have a top / bottom ordering which might help a wee bit. More info on customizing templates here:

http://wiki.civicrm.org/confluence/display/CRMDOC/Customize+Built-in,+Profile,+Contribution+and+Event+Registration+Screens


New Website Users Connecting to Existing Member Record

I believe how well this works will depend on your unsupervised deduplication rules set in civiCRM. If you used external ID, I think you would actually need to change the default rule as well.

If you haven't made any changes, then requiring first name, last name, and email address when creating a Drupal account will link the Drupal user to the correct civiCRM contact (and related membership) the vast majority of the time (As mentioned by petendz in the comments).

This is the setup that we use, where all membership is managed in civiCRM but not all members are Drupal users. The only times when we have user accounts mis-linked is when someone signs up for a Drupal account and uses an email address that we don't have in our database and spells their name differently.

In those few cases, a staff member can easily merge the civiCRM records and maintain the link to the Drupal account, not requiring any action from the users perspective.


How to get the number of event "actual participants" from the API?

You can total up the participants by looking up the line items.

https://gist.github.com/ginkgomzd/5ca327a0711fdb586529a4936accb244


Joomla 3.7.1 made this work from the command line. But from a c-panel cron job I got the error:
"cli.php can only be run from command line."

Now this also works from the command line as well as with the c-panel cron job. : Note the back slashes!

wget -O - -t 1 https://www.MYSITE.org/administrator/components/com_civicrm/civicrm/bin/cron.php?key=THEKEY\&name=THEUSER\&pass=THEPASSWORD


Bert, based on the error message you report, I think your validation failure is in the three digit card verification number (CVV), not the card number (PAN). Normally I use 111 as CVV for the 4111 test card.


Firstly, props for the work you're doing!

Secondly, the first two bullet points I'm fairly sure you can do out of the box just with config - you can have two membership types with different fees, and you can definitely offer discounts.

The last point is the most interesting. I wonder if a combination of one of either CiviPoints (a brilliant extension written by DaveFF) or CiviVolunteer (a brilliant extension written by Ginkgo Street Labs) with CiviRules (a brilliant extension written by CiviCoop) with perhaps some custom jiggery would help you with the latter.

CiviPoints lets you collect "points" that people have accumulated through different means.
CiviVolunteer lets you track Volunteers' hours and shift allocation.
CiviRules lets you perform actions when conditions are met. I.e. people who donate time, money, or food could then trigger CiviPoints to be awarded and tracked, and when enough points made you could adjust a value that says what discount memberships are allowed.

I know that all of the extensions' authors would be happy to be contacted :)


not a direct answer to your question but I was wondering if you are aware that you can "bulk-unhold" emails:

use advanced search and select "Email on hold"
from the action menu select "Unhold Emails"

Regards
Fabian


How do I print the "received date" on an invoice?

I came accross the same issue. The invoice date gives the current date and that is in most cases not correct.

We have used the receive date of the contribution in the invoice template as follows.

...
{crmAPI var='contribution' entity='Contribution' action='getsingle' id=$id}
...
{ts}Invoice Date:{/ts} {$contribution.receive_date|crmDate:$config->dateformatFull}
...

The top line with {crmApi...} could be present already in the template. So check whether you can find that line. The {crmApi...} line is not defined before the {$contribution....}


Why can't I create a payment processor in multisite?

Are you using the same payment processor naming for both? You must give it a unique name.


For some reason, cron doesn't work. On CMS joomla

This may be the Joomla-specific bug documented in dev/joomla#6, where cron runs successfully but the mailing scheduler fails due to a permission failure.


How can I make every new Group a type Mailing List?

Use hook_civicrm_pre to modify the group-to-be prior to saving in the database.  Experiment a little with your hook function, adding the debug lines:

if ($op == 'create' && $objectName == 'Group') {
  print_r($params);
  die();
}

Try creating a group with the Mailing List checked and then creating a group with it not checked to see what it passes.  Write your code so that the $params array on a group where Mailing List is not checked ends up looking like the case where it is checked.  And obviously delete your debug!


How can I create a Drupal page with an automated feed for all the events?

Have you looked at the existing Event feeds?  Go to Events > Manage Events and you'll see icons and help for iCalendar, HTML & RSS feeds. You'll need to look at how you display those feeds but the data about events is there.


Membership Fixed period, wrong start date

Yes this is an aspect of / issue with Rollover - ie when someone signs up, civimember effectively gives them the start date of the membership cycle on the day they sign up, and then adds on the extra year. so yes seeing 'start date' of 1 May 2018 for someone signing up on 5 March 2019 fits with the civimember logic.

i don't say i necessarily like what it does but the logic is consistent but means that you may need to pay more attention to the Join Date than the Start Date.

That is, assuming everything else looked right, ie End Date was 30 April 2020


Receipt template $line.description not showing

The description field that is rendered in the receipt is part of an option value that is used in a field in of a price set (See screenshot). But I wonder if that is useful for your what you want to do?


Why won't CRM.loadForm render url containing civicrm/a/#?

How about just plain javascript:

window.open(CRM.url('civicrm/a/#/tournament'), 'mywindow', 'scrollbars=yes');

Obviously 2nd and 3rd parameters can be whatever you want.

Works on dmaster.demo.civicrm.org (with 'civicrm/a/#/caseType/new', since I assume "tournament" is something custom).


Why does the Contribution page amounts appear as a quanity?

It looks like you're using a price set with "Text / Numeric Quantity" price fields.  These are designed to give you the option to pay for multiple units of something.  For example, you might have a field "number of children to sponsor", where the price is $300.  Entering 2 will make the contribution total be $600.  People use this for events a lot when someone can buy multiple tickets--it can even increment the attendee total by the number entered.

Now, this type of field is often used as a workaround for the fact that CiviCRM doesn't offer open-ended or "other" amounts in a price set.  Implementors will set the price as $1.00, and the number entered is the number of dollars to donate.  It looks like this is what is happening on your site.

This works fairly well, but with two caveats.  First, you can't do cents: since this is a quantity of $1.00 items, it's restricted to whole dollar amounts.

The second is exactly what you found: the confirmation page, receipt, and so forth display a single $12 line item as actually 12 units of a $1 line item.

There are three reasonable solutions (aside from the obvious but expensive one--building a true open-ended price field type into CiviCRM).  The first requires some coding, but nothing too difficult: you can modify the templates to hide the quantity and unit price for these fields, just showing the total.

The second is to not use a price set.  Standard contribution pages in CiviCRM allow "other" amounts with no trouble.

The third is to replace them with Select or Radio fields.  In most circumstances, donors don't balk at selecting among fixed price options.  Sure, you'll have some $12 people paying only $10, but you'll also have some people thinking of giving $22 and selecting $25 because it's closest.

It looks like you have a complex contribution form with lots of fund options for giving, so the second option won't work well for you.  Likewise, a ton of radio buttons might be overwhelming if you use the third option.  However, with a little creativity and coding, you could design an interface that plays nicely with CiviCRM's limitations here but gives donors a simple workflow.

You could, for example, create select fields with a ton of options (maybe rounded to the $5) but replace each dropdown on the form with a slider.  Donors could slide Tithe to $15, Building Fund to $110, and so forth.


I've been working on a similar goal but I've been working in WordPress. I followed the advice given to me and added Caldera Forms with CF-CiviCRM. CF-CiviCRM is WordPress plugin that functions as a bridge between Calder Forms and CiviCRM. I fully appreciate that you are currently in Drupal. You really need to decide if you are on the right platform for your ultimate goal. If you have the coding chops to pull this off, keep going the way you are going. On the other hand, if you want an existing solution to the problem you've presented, Wordpress with CiviCRM and Caldera Forms is a very workable solution.


What are my options for importing recurring contributions?

Here is some relevant information I got from JonGold on this matter in a private chat in IRC. Posting the conversation in its entirety.

[21:16] <borislav> hi
[21:16] <JonGold> hi
[21:17] <borislav> is this by any chance your answer here? http://stackoverflow.com/a/31733507/2762014
[21:18] <JonGold> yup
[21:18] <borislav> cool
[21:18] <borislav> how did you import the recurring contributions into your civi database?
[21:19] <JonGold> I used the command line CSV API import tool
[21:19] <borislav> ah!
[21:20] <borislav> could have thought of that myself, haha
[21:20] <borislav> so you first imported the contacts and then the recurring contributions?
[21:20] <JonGold> I'm looking at the CSV now.  Here are my headers:  "trxn_id","installments","frequency_unit","amount","invoice_id","start_date"    ,"create_date",contact_id,"frequency_interval"
[21:21] <JonGold> Yes - I do a lot of migrations to Civi.  I first import the first name/last name/external identifier.  That way I can map external IDs to CiviCRM contact IDs.
[21:21] <JonGold> Though I realize that we've confused two different issues here.
[21:22] <JonGold> The IPN issue didn't involve me importing anything.  I had a Civi client who switched from Drupal to Wordpress.  So the database didn't change, nothing was imported.  I just needed IPNs to show up at a Wordpress-based URL.
[21:22] <JonGold> But I've also imported plenty of recurring donations using the command line API CSV tool!
[21:24] <borislav> right, in that case you already had the recurring contribs in the civi database so you just needed to redirect the IPN. in my case I need to import them to the database
[21:24] <JonGold> What payment processor are you using?
[21:24] <borislav> Paypal Standard
[21:25] <JonGold> Hmm.  I'm not sure how successful you're going to be, but I can give you some tips.
[21:25] <borislav> if you want to, answer my question here: http://civicrm.stackexchange.com/questions/7146/what-are-my-options-for-importing-recurring-contributions
[21:26] <borislav> or I can compile an answer with your tips and post it
[21:26] <borislav> whichever you prefer :)
[21:26] <JonGold> When you create a recurring donation in CiviCRM using PayPal Standard, Civi gives PayPal a string of data that it expects to get back.  It includes the contact ID, recurring contribution ID, etc.
[21:27] <JonGold> So when PayPal sends its IPN ping, Civi is expecting to get that data back in a particular format.
[21:27] <JonGold> If it's getting the IPN data pinged to it and that contribution was created in a different CRM, the data won't be there.
[21:28] <JonGold> In theory, you can go into each IPN subscription in PayPal and change the data.  I've done it manually.  You can also possibly write a script.  It's a huge pain.
[21:28] <JonGold> You can compile these answers - I don't think I need the Stack Exchange points :)
[21:29] <JonGold> My last client in your situation agreed that the option they'd take is to manually upload a list of recurring donations from a CSV (I forget whether it was compiled manually or exported from a legacy system)
[21:29] <JonGold> The recurring contribution records were still present in Civi so they could, e.g., search for recurring donors, but there were no IPNs, just the manually imported recurring donations.
[21:30] <JonGold> As each person's credit card expired, they would have that person restart the recurring payment through Civi.  This may work differently with PayPal standard though.
[21:31] <JonGold> Also, to respond to your not seeing the "Submit Credit Card Contribution" button - I'm not sure that works with Paypal Standard, I'm afraid.  Not 100% sure though
[21:39] <borislav> I had no idea that the paypal IPN data depends on what Civi sent to Paypal in the first place. this makes things much more complicated. for me it may not be worth it to do all of this. with not too many subscribers, it might make more sense to ask them to register for a donation again, this time with Civi's donation form
[21:40] <borislav> you have saved me a lot of time with this info, thank you
[21:40] <JonGold> no problem!


How to remove CIviCRM from menu for some roles

I typically take it out of the black toolbar menu (disable it) and then use shortcut-per-role to add a CiviCRM menu option to users with certain roles (i.e. in the grey toolbar).


The Selector.tpl is placed wrong hence its not invoked. It should follow exact path of CiviCRM core module
For example if the Selector.tpl in Core is placed under plugins/civicrm/civicrm/templates/CRM/Contact/Form/Selector.tpl than in template over-ride it should be /home/domain/testwpcivi/wp-content/uploads/civicrm/templates/CRM/Contact/Form/Selector.tpl
Once you have tpl placed under correct directory path clear civicrm cache


I may have solved this with the following steps.

create a drush alias for the site
configure crontab using the drush alias

Drush alias (~/.drush/example.aliases.drushrc.php)

<?php

    $aliases['example.com'] = array (
        'uri' => 'example.com',
        'root' => '/path/to/drupal',
    );

?>

Crontab

0 * * * * drush -u 1 @example.com civicrm-api job.execute auth=0 --out=json


To prevent cron emails do I need to redirect output to /dev/null?

What I've done to fix this is create a bash script that executes the civicrm api command, captures the output to a variable, tests for the string [is_error] => 0, if there's no match, then it echos the output of the command.

Here's the script:

 #!/bin/bash

output=$(/usr/local/bin/wp --user=cronuser --url=https://mysite.org --path=/srv/www/mysite.org/public_html civicrm api job.execute auth=0)

### only print if error is not 0

if [[ $output != *"[is_error] => 0"* ]]
then
  echo "$output";
fi


This is a known bug in 4.4 (CRM-16056).  I fixed this in Civi 4.6.  If you can't upgrade for whatever reason, it's a very simple fix.


Ah, v3 of this extension is incompatible with PHP7: https://github.com/compucorp/uk.co.compucorp.civicrm.giftaid/issues/49


Adding columns to Accounting batch (iif & csv)

I am not if anyone has done this before but you can use combination of hook_civicrm_batchItems and hook_civicrm_batchQuery to add columns in csv files. I don't think there is any easy solution to add column in iif export file.

HTH

Pradeep


This does appear to be a legitimate issue, so I've created a bug in the tracker here: https://issues.civicrm.org/jira/browse/CRM-18079

Generally it's better not to use this folder for maintainability reasons - it is better to use an extension - but since it is an advertised piece of functionality, it should work as intended!

Thanks for reporting this.


I did the change suggested here to get rid of the php problems and then reset everything and that seems to have solved the problem. Not sure what was happening, but at least things are working now. mailchimp extension error, php 7.1, civi 5.10.4, drupal 7.x


How do I embed an image into CiviMail messages?

If you are referring to embedding images in the body of the email, yes, that is entirely possible in CiviMail.

Using the WYSIWYG editor, you can embed images. There is an image icon on the toolbar to do this.  The images will be stored on your server and can be referenced in the HTML email.  (Of course you could optionally just include the image hosted at a different URL as well.)

You could theoretically embed the byte stream of an image, though I don't know why you would want/need this.

If you are referring to attaching the images as attachments that is possible too.  Check the Attachments section when you are defining the email in CiviMail.


Not all extensions appear in Add New list

Extensions don't get added to the "Add New" tab just because they are on the https://civicrm.org/extensions. They must be approved by the CiviCRM team first. We are working to get our extension published into that list to make it easier for users to install.


Sign up with a different membership type overwrites existing membership

On the contact record's Activities Tab, there is an Activity of the Type: "Change Membership Type". Could you use that to determine the past/present Membership types?

Also, if you set up different Membership Types with a different 'Membership Organization' selected, I believe the record can have simultaneous memberships. I do not recall if this creates additional problems down the line, however.


How to expose Mailing Groups in webform?

Edit the form Element -> change live to static -> and select the groups you would like to put on the form.


How to display only Time value in User Contact without the Current Date value

Since you are using date field it won't allow you to store only time. One option would be to use custom field of type text to only store time or use date field to store DOB with time.

HTH

Pradeep


That's CiviCRM 4.1.6 - it's unlikely you'll find anyone here who can help you with that version.

It's possible that upgrading to 4.6 or 4.7 itself will solve the issue - lots has changed since. And if any issues remain you'll be on a version that's currently supported by the community.


Can you ask your host about raising php's memory_limit setting to at least 128MB. 32MB is below the current recommended minimum for CiviCRM of 256MB (see https://docs.civicrm.org/sysadmin/en/latest/requirements/#php-configuration), and the absolute minimum value used in the configuration file that calls ini_set() is currently 128MB (see https://github.com/civicrm/civicrm-core/blob/5.17.0/templates/CRM/common/civicrm.settings.php.template#L540)


CiviCRM Slow Bulk Emails to Sparkpost via Rest

How many emails are you trying to send? mailer cron=8 is really if you want to send a lot (I would not consider putting something else than 1 if less than 100k emails sent).

As for the job size at 1000. you are on the lower side, and would probably put at least an order of magnitude higher.

With more "normal" settings, you should get a better behaviour.

This being said:
1) yes, sending a mailing means a lot of traffic around your db, it's normal, nothing to worry about, it's big queries to record which emails have been sent

2) yes, each email is sent a separate email, here again, it's normal and works as intended

What is less normal is the number of connections. If you use smtp, it will create one connection and push all the emails of the batch in this connection. Obvioulsy the more cron jobs running you have, the more connection, hence my recommendation to lower it to 1 to see how it goes

I'm not familiar with the sparkpost extension, it might use a http rest api, and depending how it's designed, make more requests, you should check the code or look directly with the authors of the extension.


report to show all my outstanding activity

You could base the report on the standard Activity report which can be found at Reports>All Reports>Activity Details.
If you are not too familiar with how reports and report templates work check this chapter of the User Guide: https://docs.civicrm.org/user/en/latest/reporting/what-is-civireport/


civicrm/upgrade?reset=1 to 5.3.1 from 4.7.30

Problem solved by putting back the right version and doing reset. The doing the upgrade to 5.3.1.


You need to base it on the entire history of activity subjects which is a bit tricky. I'm not sure how to do it in a drupal view.

In pseudocode it would be something like SELECT ChangeCaseStatus activity with MAX(date) earlier than activity date currently being output. If null then Active.


I have tested the above issue against WP 4.6.1 and CiviCRM 4.7.11.   I am running Apache 2.4, php 5.6 and MySQL 5.6.   The OS is CentOS 6.

I cannot reproduce this error nor the one mentioned Ajax Error when trying to view relationships tab

I commented in https://issues.civicrm.org/jira/browse/CRM-19331 about this as well.

I would suspect the issue here is due to either a plugin conflict or something specific to the Hosting Configuration. I am interested if these issues are specific to a host or a specific configuration.

I'd disable all plugins (except CiviCRM) and see if you can trace errors in you apache and php logs.  I would also revert to a default theme (CiviCRM demo sites are tested with TwentyThirteen) I'd also look at the CiviCRM logs. The CiviCRM logins should be in the /civicrm/ConfigAndLog directory that is stored in the WP upload directory in 4.7

I'd be interested if these issues are specific to a host or a specific configuration.


Memberships not being inherited by related contacts

This is an on-again gone-again bug. At FF Towers we were never able to fix it and ended up writing an extension that did edit save on the membership to get it to work. Horribly hacky but day saved. Recommend more UTs.


Issue in sections of civicrm that use /civicrm/.*/#/.* using LEMP

I'm not sure it's an issue on nginx (as the information after the # is never sent to the servers anyway).

It's more likely an issue of a url that is incorrect, for instance if the url of extension isn't properly defined

Do you have a javascript error? (using firebug or your favourite debugger)


How to send organization a list of current Employees?

You may be able to do it using https://civicrm.org/extensions/data-processor extension to create list of contacts belonging to logged in user contact.


How do I restore City, County, State to the Address block in Contact Summary

If the problem is that the county does not show up with viewing the address on the contact summary page... You can control what address fields are displayed by clicking Adminster -> Localization -> Address Settings.

Then, find the Address Display Format field and add to it: {contact.county}

If the problem is that when you edit the address, no county field shows up, then you can choose which fields show up by clicking Adminster -> Localization -> Address Settings.

Then, find the Address Editing field and check off the county option.

If the problem is that the county option is not even an option for Address Editing, then click Administer -> System Settings -> Option Groups. Find Addressing Options and clicked Edit Option. Hopefully county will be listed but disabled and you can simply enable it. If it's not there at all you could try adding it, but I'm not sure if it will be added in a way the CiviCRM expects.


What's the best way to handle a matching donation?

This is highly dependent on your development department's workflow - but I'd say what you described is the most popular approach.

If you do go this route, you may want to consider installing an extension I wrote called Auto Matching Gift.  It's mostly a labor-saver: When you enter the original gift, you select the Matching Gift organization from a list.  A pending contribution will be created on their record, and it will be soft-credited to the original donor.

Note that this was developed for an organization that pays for a service of all organizations that match gifts - so if you have to create the organization first, it's not much of a time-saver.  Hopefully one day I (or someone else) will improve it to allow adding organizations on the fly.


API chaining like behaviour with import.php

I use CSV API import quite heavily - but if there's a way to do chaining, I'm unaware of it.  I use an ETL tool (Pentaho Kettle) to script migrations, so I handle lookups there.


CiviContribute page broken after upgrade to CiviCRM 4.7.29

I am running Joomla and ran into the same issue. I was able to correct it by applying the changes on this page:
https://github.com/civicrm/civicrm-core/pull/11454/files


Calling images from a database with custom tokens in mass mailings

What you're describing is technically possible, but far from streamlined - so whether it's worth doing is up for debate.  If it's a feature that's interesting to you, you may want to write (or fund someone to write) an extension to facilitate it.

Let's talk about doing this with custom fields (Administer menu > Customize Data and Screens > Custom Fields) and with an extension.

Custom fields are available as tokens, and they can contain HTML links.  So you can create a custom field called, e.g., "image link" on a contact.  You can then insert a token in CiviMail - see "Using Tokens in Emails" on this page in the documentation.  It will look something like this:

Here's a link to the image: {contact.custom_8}

That's not quite what you want - you want to embed the image into the mail itself.  So instead, do:

Here's your image: <img src="{contact.custom_8}">

Note that you'll need to go into "HTML Source" mode on your mail to enter that.

You can store the images wherever you like.

Now, this is unwieldy, because you have to populate the custom field for every user who receives the mailing.

If you went the extension route, you would use civicrm_hook_tokens and civicrm_hook_tokenValues to create your own tokens.  You could then make tokens that created images based on, say, someone's interests or any other data you already stored.  There's a good article here if you want to go that route, or check out the excellent Fancy Tokens extension for a solution to a related problem.


Navigation (or other action) after afform submission

This was just implemented a few days ago. See https://github.com/civicrm/civicrm-core/pull/20018


Why is the event registration "Thank You" page generating an error?

This seems to be similar to: CiviEvent - Error when registering: Could not find valid value for id

If you are using WordPress, then setting the base url might help. Copying my response to that issue below:

I was having a similar problem. I noticed the base url for WordPress was not set.

If you haven't set that, try setting that in Administer > CMS Database Integration and let us know if that fixed your issue.

Make sure the event is not the home page, that seems to cause problems with the base url.


Gravity Forms integration with CiviCRM - AutoFill contact field

If you paid for Gravity Form-CiviCRM integration, I would contact the authors for support.

Meanwhile, most of the community uses Caldera Form with Caldera Form-CiviCRM integration.  I know this feature exists with Caldera Form-CiviCRM but haven't used Gravity Form integration.


Warning message on member signup form page

I figured out what was causing the warning message...one of the fields in the profile being used.  Not sure what is wrong with the field, but disabling the field cleared the warning.


Printing reports without showing filters

On the Title and Format tab, insert this in the Report Header just before the closing </head> tag near the bottom:

<style type="text/css">table.statistics-table { display: none; }</style>


test send mail, wrong test email account

Seamus' comment has the correct answer.

CiviCRM links each WordPress login with a corresponding contact.  Your WordPress login is tied to the wrong contact - maybe a messed-up import, an incorrect merge, it's hard to say!

This is going to lead to multiple problems, including the one you're seeing, and you need to fix this ASAP.  If you or someone you know is comfortable with SQL, then changing civicrm_uf_match to match your WordPress ID with the correct CiviCRM contact is the best solution.

If not, you can use the API Explorer to change it - but make sure you have a backup of your database before trying, the API Explorer is powerful enough to wreck things!

Go to Support menu > Developer > API Explorer.  "Support" menu might be called "Help" menu, it switched somewhere in 4.6.
Set "Entity" to "UFMatch", "Action" to "Get".  In "Parameters", Set "CiviCRM Contact ID" to Adams.
Press "Execute".
In the "Results" area below the "Execute" button, note the value of "id".  There are two "id" values - you want the one INSIDE the "values" stanza.
Keep "Entity" as "UFMatch", change "Action" to "Delete".  For "UFMatch ID", put in the ID you just found.  Press execute.

At this point, Adams should no longer be tied to your account!  Assuming your WordPress email address and CiviCRM email address match, CiviCRM should link the two on your next login.


You could search on a city to show people in that location. And have the option to show a map.

See my post on How to create member listings/directories/maps

Unfortunately this only shows contacts in the city, any one just outside will not show. You could have something custom developed where clicking on a contact shows the contact centered on the map, but lists all the other contacts so they can be found by moving around on the map.


Is moving Civi easier than the docs say?

The triggers have a DEFINER that needs to exist and have the right permissions so if the db user is different you might run into some problems there. If by "full" you mean you are also restoring the system mysql.user table that might be ok but that might cause other problems with the hosting provider control panel depending how they are set up.


Autofiling email activities via EmailProcessor to ORGANIZATION

There's a way to do it by implementing a PHP override or (not advised) hacking CiviCRM core.

The logic behind only filing emails on individuals is that organizations don't actually send emails.  That said - you surely know your needs better than I do.

The file in question is <civiroot>/CRM/Utils/Mail/Incoming.php.  Around line 461 is a function called getContactID.  Change line 462 from this:

$dao = CRM_Contact_BAO_Contact::matchContactOnEmail($email, 'Individual');

to this:

$dao = CRM_Contact_BAO_Contact::matchContactOnEmail($email);

If you hack core directly, you'll have to make this change every time you upgrade.  You can also do a PHP override, which is somewhat better - but you'll still need to occasionally compare the file to see if any other changes have crept in.


How can I change a cell in dataTables (custom data type tab with table) to disable the inline edit?

how about using apiwrapper hook and throwing exception?


If you have installed civicrm-buildkit and configured civibuild, then you can use the tutorial steps at Daily Coding: Upgrade Tests.

If you don't use civibuild, then you can piece-together a similar workflow using civicrm-upgrade-test.

For more discussion about writing upgrade logic, see Upgrade Reference on the wiki.

For a general, high-level overview of automated tests (including upgrade tests), see Testing on the wiki.


Initialization Error after restoring a Wordpress site from backup

As you can probably tell, CiviCRM is looking for a table that doesn't exist (at least where it's looking).  Given your context, there are a few possibilities for why.

CiviCRM creates a bunch of tables that are independent of WordPress and about which WordPress has no knowledge.  They may be in the same database as WordPress, or they may be in a separate database.  The connection to the database is stored in wp-content/plugins/civicrm/civicrm.settings.php.  There, you'll see two lines of database information: "CIVICRM_UF_DSN" for the WordPress database connection, and "CIVICRM_DSN" for the CiviCRM database connection.

So, the possible situations:

You have separate databases, and you have been only backing up the WordPress database.  You'll see this if your database connections in civicrm.settings.php differ from each other.  The good news is that if this is the case, you might be able to find the old CiviCRM database sitting around somewhere, and it would probably be unaffected from a bad plugin.
You were only backing up the WordPress tables.  Even if CiviCRM is in the same database as WordPress, if you're using a WordPress tool for backup, it might decide to only handle certain tables.  If this is the case, you may be out of luck unless you still have the pre-restore database around.
You failed to update civicrm.settings.php after restoring the site.  If you had Database A running the site, and you restored the backup to Database B, you'd need to update wp-config.php and wp-content/plugins/civicrm/civicrm.settings.php.  If you neglected to do the latter, and you got rid of your old database, you'd see this.  Likewise, if you simply changed the password on the database user and forgot to update civicrm.settings.php, you'd have this sort of problem.


A/B Tests not tracking opens or clickthroughs

We are using tracking on A/B testing and it works fine, it might be something about your configuration.

Can you check on the source of the received message if
- the links you put are transformed into something else (ie. if you put google.com, it will be replaced by yoursite.org/sites/all....)
- you have an extra image with a src=yoursite.org/...

if they aren't them, you might have disabled the tracking, could check on the tab in your mailing if they are checked (track open and track clicks?)


The documentation in Shoreditch states:

  Requirements

  Drupal 7
  CiviCRM, v5.0+ recommended
  "CiviCRM Theme" module enabled
  "Seven" theme set as CiviCRM Administration theme

My understanding is that the layout part is then heavily depending on the Seven theme, which is why it appears so differently in WordPress. Please correct if this is a misunderstanding.

If you use the CiviCRM Admin Utilites plugin, you can enable WP Admin Styles, published blog post with an overview.


Set group field of a contact as required

You will need to write small extension and then implement hook_civicrm_validateForm to validate group field and then throw error. Example

/**
 * Implements hook_civicrm_validateForm().
 *
 * @param string $formName
 * @param array $fields
 * @param array $files
 * @param CRM_Core_Form $form
 * @param array $errors
 */
function xxxx_civicrm_validateForm($formName, &$fields, &$files, &$form, &$errors) {
  if ('CRM_Contact_Form_Contact' == $formName) {
    if (!empty($fields['group']) && !in_array(10, $fields['group'])) {
      $errors['group'] = ts('Group field contains invalid option.');
    }
  }
}

HTH

Pradeep


Asking here is a good step. I forwarded the info to someone on the core team who should know who to pass it on to. thanks for reporting it


How to setup a camping event with 2 part payment option?

We have a client that runs a child after school care STEM program. Monies are due at the time of registration (one month eg in May) and then monthly (starting in Sep) for additional 9mo;

We use webfom civicrm (of course! ) with iATS payments to:

1) sign up for the Event and detemine the participant fee (conditionals factors are age, number of days, time-slots). 2) collect all contact info (parents, emergency contacts, contacts allowed to pick up the child) etc 3) use the recurring series feature in the webform civicrm -> CiviCRM
-> Contributions tab -> to enable that and to expose instalments on the webform 4) so parents can choose to pay now (all up front) or select the monthly option - this automatically creates a monthly recurring contribution with first charge now. 5) an administrator changes the next scheduled date for the recurring series to Sep 01 (so second instalment will be in Sep) 6) if you have a lot of recurring series then you can use views and civicrm entity and views bulk operations to contruct a view in which you can update multiple next scheduled dates in bulk.


How about link your two buttons to two different URLs (confirmation pages) "Thank you for voting yes"; "Thank you for voting no" and use the CiviMail track open/click through feature to see which Contacts clicked which buttons.


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

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

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


How do you allow a user to add their bulk email address?

I believe bulk email uses whichever address is set to "Primary" if no specific bulk address is specified, and there is an option for primary email in profile creation.

Hope that helps!


Best practice for dealing with electoral district / constituency?

It sounds like you want to look at the Electoral API extension and at Using CiviCRM for e-advocacy more generally.

The Electoral API extension is in beta - we have it in production for a few clients.  However, we haven't written support for any APIs except the New York Times and Sunlight Foundation, which are both US-centric sources.  Please feel free to extend it to work with UK-based sources!


I've done this a few times using the User Import module. You just get a contact listing of all the contacts in CiviCRM that need an account (for example, all of the contacts in a particular group or those that are returned from a particular search) and then do a simple CSV export of the relevant information.

You could export the email address, first name, last name, and then edit the list in a spreadsheet if you need to generate custom usernames or passwords. The module will allow you to construct usernames on the fly by using multiple fields. You can optionally abbreviate them as well, so you could do a username as any of the following without any extra editing of the CSV data:

FirstLast
FLast
FirstL

The module will also allow you to send the welcome email (or a custom welcome email), assign roles, and more.


How to exclude a lapsed membership from mailings

I may have misunderstood but assuming you are using CiviMember an easy option is to make a Smart Group based on the membership criteria - and use that Smart Group as your Mailing List.

For example, go to Advanced Search, expand the membership section of the search, set the Membership status to eg New, Current and Grace. Then the lapsed members will automatically be excluded until they rejoin at which point they will be included in mailing.


Recording activities - case or contact summary page?

Kate, Welcome to CiviCRM stack exchange. About your question, it depends upon your business logic. If you want the activity to be part of the case than you should create them inside a case since the New Activity form from the Contact summary page doesn't provide ability to add activity to case. You can but obvious move the activity later after creating by using Move to case link or Move to case from task action.

If you don't want activity to be part of the case than you should use option from Contact Summary screen.

Thanks

Pradeep


You could use the two extensions CiviRules and SMS API.

We are using those two in combinations, to send a sms whenever certain triggers and conditions are met.


Is there a quick and easy way to copy an activity?

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


When running event reports, receive Error: '' is not a valid option for field id

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


I would add a custom group to Participant, that should show in CiviCRM automatically whenever you do something with a participant.


Choosing a webhost:

Sounds like you are new to CiviCRM and you are starting a new site.  To your second - easier question - you can use any host for CiviCRM - if you have the budget - I would go with an expert that can implement everything to meet your needs on a VPS.  Otherwise if you are on a tight budget - these are two shared web hosts that I recommend (In No Particular Order):

CiviHosting - Supporting Partner of CiviCRM
Namecheap Stellar Business -  Not a partner of CiviCRM

I have used the above for different deployments and have been very happy. Alternatively - these are the requirements for CiviCRM, choose whatever hosting company you are comfortable or have experience with and make sure they meet the requirements for CiviCRM, any extensions you may use, and your CMS. In addition - I would recommend that you choose a web host that supports PHP imagemagick library.

CiviCRM - GSuite Integration

There has been a bit of work on this and I recommend you check these extensions out:

CiviGmail Integration with Gmail
Google Groups CiviCRM Integration
Google Apps Sync
CiviCRM - Google Script/Drive Integration
Integrating Email Client into CiviCRM
Inbound Email

Lastly - with all external integration - outlook, gmail, etc. - you should focus on getting your staff to use CiviCRM first. For example, don't place an item on your google calendar first - add it to Civi first - then you can have events assigned to you sync or be sent to your calendar. I am not sure what Google Drive integration would even look like - can't help you there.

Ill also say this - take baby steps - and you will learn how best to implement this for your organization. Maybe tight integration with G Suite isn't the best use of your time - maybe creating an interface in which Civi and G Suite are easily accessible from each other is an easier option. In the end - practice makes perfect.


How to avoid a duplicate membership for same contact

I suspect the OP needs to avoid the creation of double backend membership with the same type. Something which would look like -

This could be a bug(not sure) as this doesn't happen when registered through contribution pages. I don't think there is any setting in civi UI which would avoid this, but it is possible with a small extension(learn here) where you need to check for double membership type registering for a single contact id.


Clear data from supplemental address on update

I tried this and was able to get it to null the field.  I needed to put null in the field in the cvs.  I had to make sure the null did not have any quotes around it.  Just the word null between the commas.


Modifying Contribution and Event Templates

You're looking for the Confirm and ThankYou templates - they live here - for Contribution pages (and tree structure is very similar for Event):

Two options to override them:

add a custom_templates directory in the System Settings -> Directories - mimic this entire three.
or yes put it into your extension! I like that option better as I tend to forget about custom_php and custom_tpl when I upgrade sites. Same thing - in your extension -> copy the entire tree starting with templates - of course rename everything. Perhaps you already used civix to create your extension? Then you should already have a templates/ directory ready to be used!


you could try using the latest version of the API explorer to give you an idea of the API call. In general, if the custom field is attached to that entity you can just get it using the custom field number. The custom field number is the ID of the field, eg:

$result = civicrm_api3('Case', 'get', array(
'sequential' => 1,
'return' => "custom_315",
'id' => 1,
));

or REST:

/sites/all/modules/civicrm/extern/rest.php?entity=Case&action=get&api_key=yourkey&key=sitekey&json={"sequential":1,"return":"custom_13","id":1}


Issues while geocoding Brazilan addresses with Google API on version 4.7

I have fixed the issue!

It seems that Google API does not support restricting DNS in server geocoding mode, I have created a new API key with IP restriction.

Beware people, it can cause you headaches.


Since Imran is on CiviCRM Spark, I had a quick look at the issue. I think it was caused by the field mapping, where the import was trying to import the "Contribution Status", but there wasn't a status for "paid out", causing the import to fail.

So I changed the import mapping to ignore the import status (since the file only completed contributions), and it seems to have resolved the issue.

ADD-ON: this also happens when you try import Contributions with status=completed (as opposed to Completed)!


These boxes are intended to hold the "Pre-form help".  If you go to Administer menu » Customize Data and Screens » Profiles, and click Settings next to the affected profile, you'll see the Pre-form help option I'm referencing.
One of the following is happening:

There's some white space in the box.  Do a "Select All" on the text of the box and press Delete, and save.  See if it's fixed.  You can use the Preview option under the More menu on the Profiles screen.
If it is NOT fixed, there may be something that's adding space into that box inadvertently.  This happened in CiviCRM about 10 years ago, and occasionally happens because of some odd WordPress plugin or similar.  If you know how to look at the raw database data, look in the (unintuitively-named) table civicrm_uf_group at the help_pre field.  It should be NULL.


If you leave the filter called Show no. of Top Donors empty then you will get a list of all contacts and their donation totals.


CiviCRM Page Not Found Error After Copying Site to New Server

We Always make a tar.gz from all the files, and a database backup of the drupal database and the civicrm database, without disabeling any modules.
The we extract the files on the new location, and give the files and folder the right permissions (in most case 755 is good and do not forget the .htaccess). Then we ajust the settings.php and the civicrm.settings.php, with the correct paths and database connection information. Than we change the "Temporary directory" in the "File system" in drupal, and the paths in "Directories", "Resource URL's" and "Cache" in civicrm. Clear the cache again and that's it!

Don not change anything on your current website!

cd /var/www/html
tar cvzf mywebsite.tar.gz mywebsite/
mysqldump -u database_user_drupal -p database_name_drupal > database_name_drupal.sql
mysqldump -u database_user_civicrm -p database_name_civicrm > database_name_civicrm.sql
Copy everything to the new server and do
tar -xvf mywebsite.tar.gz
cp -rf mywebsite/ /var/www/html/mywebsitelocation
chown -R username:www-data /var/www/html/mywebsitelocation/
chmod -R 755 /var/www/html/mywebsitelocation (or 775 for testing)
check the username of the DEFINER in the database_name.civicrm.sql

with:
sed -n '/DEFINER/p' database_name.civicrm.sql
remove it with:
sed -i 's#DEFINER=username@%# #g' database_name.civicrm.sql (replace username)
and:
sed -i 's#DEFINER=username@localhost# #g' database_name.civicrm.sql (replace username)
and:
sed -i 's#SQL SECURITY DEFINER#SQL SECURITY INVOKER#g' database_name.civicrm.sql

mysql -u new_database_user_drupal -p new_database_name_drupal < database_name_drupal.sql
mysql -u new_database_user_civicrm -p new_database_name_civicrm < database_name_drupal.sql
nano /var/www/html/mywebsitelocation/sites/default/settings.php

change the "$databases = array ("
change the "$base_url =" (if set)

nano /var/www/html/mywebsitelocation/sites/default/civicrm.settings.php

change "define( 'CIVICRM_UF_DSN'"
change "define('CIVICRM_DSN'"
change "$civicrm_root ="
change "define( 'CIVICRM_TEMPLATE_COMPILEDIR'"
change "define( 'CIVICRM_UF_BASEURL'"
we do not use the "$civicrm_setting['Directory Preferences']" settings and "$civicrm_setting['URL Preferences']" settings in the civicrm.settings.php

change the "Temporary directory" in the "File system" in drupal
clear the cache, use the button in drupal
"Reset Paths" on "civicrm/admin/setting/updateConfigBackend?reset=1"
and you can clear the cache in civicrm also with the button on "civicrm/admin/setting/updateConfigBackend?reset=1"


How to get the WordPress Username in a contacts or membership export

This isn't possible with the built-in export, no. Do you have sql access to the CiviCRM database? The connection between CiviCRM and the CMS is stored in the table civicrm_uf_match.


You can set the 'contact type' of a Relationship to be All Contact Types


Custom Mailing Labels and "Merge labels for contacts with the same address"

The answer is already here. According to a tiny mention at the bottom of http://wiki.civicrm.org/confluence/display/CRMDOC/Directories page, it is possible (and, more important, it works!) to copy modified core files to Custom PHP Path Directory (at civicrm/admin/setting/path?reset=1) , preserving original files/folders structure, so next time CiviCRM gets security updates, changes should be kept (unless original file / function major changes).


There is a UI function to get/update BICs for several countries under yourdomain.org/civicrm/bicImport?reset=1

Afaik there is no source for French BICs yet. In order to add French BIC you would need to:

find a freely available list/source of French BIC
implement fetching/parsing the list in LittleBIC

If you cannot do 2. you may create an issue in Github once you found the list - maybe someone can implememt it for you.


Look in Search >Advanced Search
Put in Search parameters that would show the lost donor data
Down in the bottom right-hand corner of the Search Criteria box check Search in Trash
You should be able to check all and then under actions restore.


How to create a recent new contacts report?

I am not sure if there are any extension that you do your job using reports but you certainly achieve this via other methods

If you are on Drupal than you can use views to create the list by sorting created date by descending order.

You can also use Data Processor extension to create dashlet or search report with your own columns and  sort by created date by descending order.


I believe that for profile edit, you need to use id rather than cid for the contact id, as per the docs you linked to:

http://www.myorganization.org/civicrm/profile/edit?reset=1&gid=N&{contact.checksum}&id={contact.contact_id}


You can add a custom drop-down "select" field to the contribution, then add the custom field to a profile on the contribution, optionally specifying it as required.

You'll then be able to search and report on your donations by custom field.


Mailing stopped working after CiviCRM, PHP and Drupal upgrade

The issue was affecting multilingual installations.
If the multilingual support is turned off in the settings everything works.

Applying the fix solves the problem for multilingual installations.

You can see the @monishdeb's fix on github, the fix will be included in the next version.

And here's the patchfile I used

131c131
<              ->where('mailing_id = #mailing_id AND entity_table IN ("!groupTableName", "civicrm_mailing")')
---
>              ->where('mailing_id = #mailing_id AND entity_table IN ("civicrm_group", "civicrm_mailing")')
133d132
<              ->param('!groupTableName', CRM_Contact_BAO_Group::getTableName())


Updating a custom field set for case entity Civi API

This looks like a bug to me. Looking at the code you can see in civicrm_api3_case_create that if the ID is already set it calls civicrm_api3_case_update.

civicrm_api3_case_update has no call to the CRM_Case_BAO_Case::create method, which is the only mention I see of custom parameter creation in the BAO.

In fact api/v3/Case.php contains only one mention of the word "custom". It's surprising that something like this could have been left out and maybe I'm missing something, but when I tried creating a custom field for a Case locally and setting some custom values nothing was created.

I'd suggest mentioning this in Mattermost or just going ahead and creating a bug report for it on Jira

Edit:

This issue is about custom data being ignored by the case API but is still open.