How to synchronise Drupal users with CiviCRM organisations I was trying to set contacts added by the synchronisation between Drupal users and CiviCRM contacts as an organisation contact not as an individual. But I can't find where to do so.
Any suggestion?

Thanks in advance.

I  think it is reasonable to give an organisation a Drupal account. After all, an organisation can also have an email address and a phone number. But I tried to create an organisation-Drupal account combination from the interface on a CiviCRM 4.7.15, but I did not succeed. I tried the following scenario.

I created an organisation with an email address.
I created a Drupal user with the same email address.

Result: two contacts in CiviCRM, an Indiviual and an Organization.

But under the hood, using SQL, you have more options.

Insert or update the connection record in the table civicrm_uf_match.
Update in SQL the type of a contact (the column is contact_type) from Individual to Organization.

I tried this and the Contact View looks fine, and the record is not duplicated when I run the synchronize users job. This suggests that you can do this for a small set with some SQL manipulation, and for a large set you can create an extension.


Is there a customized realtor sales and contact management system in civi Is there a customized realtor sales and property management and contact prospecting system available for CiviCRM, eg through an extension or set of modules integrating with Drupal?

CiviCRM can be customized by developers and implementers to suit a wide variety of needs. It may or may not do what you need out of the box, but one of the CiviCRM Partner companies could help you out.

CiviCRM is the best open source CRM going and when used with a CMS like Drupal can be quite extensible and powerful.


Console error with Google Plus and "Help spread the word" I was testing a contribution form today and noticed an error in the console on the thank you page. I'm guessing it is related to the Google Plus portion of the "Help spread the word" section, but am not certain. The site does also have a Google Plus URL set as rel="Publisher" using the Metatag module (Drupal).

If I leave the page open and the console open, this error just keeps recurring again and again:

Refused to display...in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'

What would cause this?

This is usually a local issue; if you clear your browser's cookies the error should go away.


Search by User that Created the Contact I would like to create a group of contacts added by a particular admin.  How can I search for contacts added by x contact?

Thanks!

In Advanced Search you can use the Change Log to enter the Admin's name in the  'added by' section and set it to 'Added'.

You have to put in the contact's "Sort Name" in the box for this to work (as of 5.7, at least) [citing Alan Dixon's comment from below].

Then you should be able to make a Smart Group from this.


Best way to integrate two sites with different security levels We have a civi install that contains some sensitive data. We also have a public facing website. We would like to integrate them so that you can sign up for events, give donations etc on the website. The first though was to have a single site, but we would rather not have sensitive data sitting behind a public site.

EDIT: Also the less custom code the better. A solution that depends on crafting our own forms and interactions between sites is probably going to take too long both to develop and to fix when it goes wrong

Two ideas that come to mind are:

Do a remote integration - is that possible? - so that the public website pulls the data it needs via https or something
Have them on same server but different directories (and different Linux users) but both civi installs point to the same database, but as different mysql users. So the website cannot access certain tables.

I am inclined towards 2. Can you see anything that might go wrong with it?

Naomi, CiviProxy at the moment deals with mailings and stuff, and whitelists API calls. So if you would want to create a donation page on your public website, you would probably use the API to send data to CiviCRM.

When using CiviProxy your public website would send the API request to CiviProxy. CiviProxy would then check if the API request is allowed, and if so pass it on to CiviCRM.

If you want to build forms that communicate with CiviCRM on a separate server you might also want to take a look at CMRF.

There is a blogpost on a recent sprint about this topic you might want to read.


PCP list on contact dashboard The list of campaign pages under 'create a personal campaign page for another page' list is a little wonky. IT has three basic columns
1. Name of page with hyperlink
2. End date or 'ongoing'
3. Create a PCP hyperlink.

The hyperlink in the first column is incorrect - I checked the demo site, it is wrong there as well. I tracked it down as far as the template Contribution>Page>PcpUserDashboard

In that file (line 80 in 4.6.4) it lists

{if $row.component eq 'contribute'}
<a href="{crmURL p='civicrm/contribute/transact' q="id=`$row.pageId`&reset=1"}"

{else}
<a href="{crmURL p='civicrm/event/register' q="id=`$row.pageId`&reset=1"}

{/if}

Every link listed is the 'else' option (a event link) even when it's a contribution page. I'm not sure what part of the if statement is going wrong. I tried a few variations in this template to no avail. I also tried poking through the php but was unable to figure it out.

You may want to try using Smarty debugging.

Turn on debugging at Administer menu > System Settings > Debugging
and Error Handling.
Load the same URL, but add "&SmartyDebug=1" to the end.
You may need to enable pop-ups in your browser to see the window that appears.

Hopefully access to the Smarty debugging will make it clear what the value of $row.component is.

Alternatively, you could just add "$row.component" to the template inside the "if" statement.  I'd guess it's not showing either "event" or "contribute", but something else altogether.


Webform submission value token not working From a webform submission I would like to send an automated email, for example with first name. As per webform token I have included Dear  [submission:values:civicrm_1_contact_1_contact_first_name:nolabel] within the body of the email.

But unfortunately result returns empty. Anyone experienced issues like this? any tips please?

Tapash, I've just tested this myself and I've had success with including the fieldset within the token so that it looks something like the following:

[submission:values:civicrm_1_contact_1_fieldset_fieldset:civicrm_1_contact_1_contact_first_name]

You'll want to update the above if you've customised any of the keys or are using a different contact!


Extensions directory error in 3.4.6 After I enter my extensions directory and save, this message appears: "Public directory down or too slow - please contact CiviCRM team on forums." Appears the extensions directory on civicrm.org may have moved since 3.4 was released?

That's entirely possible - CiviCRM 3.4 is about seven years old, and end-of-life support for it would have been about six years ago tops.  An upgrade is strongly recommended; such an old version would be extremely insecure at this point.


Changes made to individuals using Contact Editor not showing up I'm using Wordpress and recently upgraded to CiviCRM version 4.6.3. Since I have the editor for individual contacts has ceased to save changes. When viewing an individual contact, I can edit fields using the in-line editors, but when I click the "EDIT" button and edit from the contact editor and click "SAVE", I get a message saying the contact has been updated but the new information is nowhere to be found! The editor does work for households and organizations though.

I did duplicate this on the demo site.

It looks like this problem has already been reported and a bug report has been made. I didn't realize it at first but it is the same problem as Maurice's, edits are not saved using the editor form when "use another address" option is checked. Individuals without that option checked can still be edited. I guess I'm just confirming that the problem exists in Wordpress as well.


Contact Import Longitude missing in mapping I am trying to import contacts from one CIVI database to another however when doing the field mapping there is a map for latitude but not one for longitude. Am I missing something, if not is there any way to fix this?

See here: Can't find 'longitude' in import wizard

It should be available by default, so yes, open an issue to fix.


Fatal error while upgrading While upgrading from 4.5.8 to 4.6.3 on a Drupal site, the upgrade script stuck and when I refreshed, i got

Fatal error: Cannot redeclare class CRM_Core_ClassLoader in
[MYSITE]/sites/all/modules/civicrm/CRM/Core/ClassLoader.php on line 36

Now I can't even log into the backend of my site.

Can you ensure that you do not have two copies of the civicrm codebase (irrespective of what you might have renamed it to) under

[MYSITE]/

Most likely the error is caused by php finding two copies of the CRM/Core/ClassLoader.php file


View and subscribe to Public Smart Mailing groups using {action.subscribeUrl}? I'd like to use {action.subscribeUrl} so email recipients can view and subscribe to public mailing lists. However, it does not show public Smart group mailing lists.

Is there a way to show Smart group public mailing lists using {action.subscribeUrl}?

Using CiviCRM 5.3.1 with WordPress.

Your email could link back with checksum to a Profile that has 'Groups' field on it which should therefore show only the Public Mailing Lists (iirc)


Is there a way to create an an automatic email if someone is removed from a group? I looked at scheduled activities hoping I could use that but alas it doesn't seem like it.

I could create a database trigger but that's a bit work.

I think this should be possible with using the CiviRules extension.


Error Running Contributions Summary Report When trying to run the Contributions Summary report I get the following message:

DateTime::__construct(): Failed to parse time string (2010401) at position 6 (1): Unexpected character

Tried standards tricks, checking file permissions, clearing caches unable to resolve the issue.

$Fatal Error Details = Array
(
    [message] =&gt; DateTime::__construct(): Failed to parse time string (2010401) at position 6 (1): Unexpected character
    [code] =&gt;
    [exception] =&gt; Exception Object
        (
            [message:protected] =&gt; DateTime::__construct(): Failed to parse time string (2010401) at position 6 (1): Unexpected character
            [string:Exception:private] =&gt;
            [code:protected] =&gt; 0
            [file:protected] =&gt; /var/www/example.com/sites/all/modules/civicrm/CRM/Report/Form/Contribute/Summary.php
            [line:protected] =&gt; 745
            [trace:Exception:private] =&gt; Array

It seems like you have some invalid data in your database.  I don't think this is related to file permissions or caches.  Is it possible that you imported data via a SQL command rather than the UI or API?

Try turning on the backtrace function in Administer menu > CiviCRM > Debugging and Error Handling, and hopefully you'll get a better sense of which field this is supposed to be.  Alternatively, look at the fields that are likely to be called in your instance of the report - checking columns, filters, etc. - and then run SQL commands to find a datetime field with a value of "201401".

Since this is likely to be in civicrm_contribution, I looked up the datetime fields in that table.  There are four.  Try running these commands, then see how this data get entered?

SELECT id, contact_id, receive_date FROM civicrm_contribution WHERE receive_date = '201401';
SELECT id, contact_id, receipt_date FROM civicrm_contribution WHERE receipt_date = '201401';
SELECT id, contact_id, cancel_date FROM civicrm_contribution WHERE cancel_date = '201401';
SELECT id, contact_id, thankyou_date FROM civicrm_contribution WHERE thankyou_date = '201401';

UPDATE: That backtrace is super-helpful!  I looked at the code in CRM/Form/Contribute/Summary.php and I see better what's happening here. The issue is still invalid data - just not in the format I expected.

This part of the code is the part that creates the links on the Summary Report to drill-down links.  See the links in the screenshot:

So Civi is converting the start dates of each of those months into a different format.  One of your contributions still seems to be happening in a different month.

You can try commenting out lines 737-786 of the file I mentioned - you'll lose the drill-down links, but hopefully the invalid data doesn't affect anything else.
This bug shouldn't trigger unless you're grouping by receive date.
You can try tracking down that bad data.  Try this SQL:

SELECT id, contact_id, receive_date FROM civicrm_contribution ORDER BY receive_date;
SELECT id, contact_id, receive_date FROM civicrm_contribution ORDER BY receive_date DESC;

Check the bottom of both those lists for odd-looking receive_dates, my guess is you'll find one!


Token For Custom Websites Types I have added a new website types (Administer> Customize Data and Screens> Dropdown Options> Website Types) called 'Portfolio' and want to add it on my CiviMail Message Templates using a token. I have tried to use the {contact.custom_id} but it doesn't work. I'm not sure if i'm doing it right but I follow the instruction in Token Help w/c is to get the ID in edit link (Please see the screenshots below):

so my custom code would be {contact.custom_844} right?

PS. I'm using it on Organization. CiviCRM 4.7.14 on Wordpress 4.7.2

Thanks!

You are adding a new option for an existing field, rather than creating a new custom field.  The existing website token will show the URL of your new website type: {contact.url}   But if you want a token to show the website type (to output 'Portfolio'), you would need to create one


Can't edit repeat events after upgrade to 5.22 Wordpress 4.9

Prior to upgrade, when editing repeat event the prompt (popup) on saving offered three choices:

1 Only this event
All others in the series will remain unchanged.

2 This event onwards
Change applies to this event and all that come after it.

3 Every event
Change applies to every event in the series.

After the upgrade only one choice is offered:

1 Only this event
All others in the series will remain unchanged.

It works fine in sandbox but that's running 5.4 alpha.
Is that safe to upgrade to?

I can see at 5.2.2(D7) all three options when a repeated event is edited.

I believe there is no special condition that will hide other 2 fields. Can you check browser console if they are hidden? It might be because of theme.

HTH

Pradeep


DB Error: connect failed when trying to call Job.execute using cli.php? I've set up a new CiviCRM install on a new Drupal install and I'm trying to configure Cron using the instructions at https://docs.civicrm.org/sysadmin/en/latest/setup/jobs/.

I'm a complete newbie at both CiviCRM and Drupal, and both the cv and Drush methods look like they need extra tools installed, so I've gone with the cli.php method.

I'm logged in to my host using SSH and using the command from the manual (obviously completed with the paths, domain, and credentials for my site):

$ /path/to/php /path/to/civcrm/bin/cli.php \
  -s example.org \
  -u myusername \
  -p mypassword \
  -e Job \
  -a execute

That returns a bunch of HTML, obviously designed to be shown in a browser not a terminal, in which the only recognisable error message is 'DB Error: connect failed'.

Can anyone tell me what I'm doing wrong?

Edit: OK, so I've tested getting the password wrong and that gets the same error, so I guess it's possible that I have a credentials problem of some kind. But I'm using the username and password of a Drupal administrator user that works just fine logging into the CMS via a browser.

The only other thing I can think is that I think my file installation and my database are on different servers. But I filled in all those details when installing Drupal/CiviCRM and I don't see any errors in the GUI. Do I need to manually edit a script somewhere?

Further Edit: Still without joy, I gave up on the cli.php method and tried the HTTP method documented on the same page above. Trying to open the following URL in a browser results in exactly the same error, though obviously presented properly instead of raw HTML.

http://<siteurl>/sites/all/modules/civicrm/bin/cron.php?name=<username>&pass=<password>&key=<sitekey>

Can that narrow down the source of the problem at all?

Yet Further Edit: Looking in the logs I see the following:

[code] => -24
[message] => DB Error: connect failed
[mode] => 16
[debug_info] =>  [nativecode=Access denied for user '<drupal_database_user>'@'<database_ip>' (using password: YES)]
[type] => DB_Error
[user_info] =>  [nativecode=Access denied for user '<drupal_database_user>'@'<database_ip>' (using password: YES)]
[to_string] => [db_error: message="DB Error: connect failed" code=-24 mode=callback callback=CRM_Core_Error::handle prefix="" info=" [nativecode=Access denied for user '<drupal_database_user>'@'<database_ip>' (using password: YES)]"]

I was surprised to see that it seems to be trying to connect with the user I had set up for the Drupal database, rather than the user for the CiviCRM database. That user originally only had Select access to the CiviCRM database. I've now given both users full access to both databases (which instinctively feels like a non-ideal setup?), but I'm still getting the same error.

First, you can view the error with greater detail if you enable "Debug and Backtrace", or view the CiviCRM log.  The troubleshooting documentation will tell you how to do both.

Second, I would assume that "connect failed" is a MySQL error.  Is it possible that you have two civicrm.settings.php files in your path, one with the wrong MySQL password?

Finally - yes, drush and cv are additional tools to install.  However, if you're administering Drupal/CiviCRM through SSH, these tools are amazing timesavers.  Configuring cron with cv or drush is 10 times easier than what you're doing here, even if you factor in the overhead of installing drush or cv.  Drush in particular will give you a number of other command-line superpowers - you'll be glad you installed it.


After creating my extension, what is the root for my new tab? 1- I create a plugin with my hook :

function wordpress_civicrm_tabs( &$tabs, $contactID ) {
    // unset the contribition tab, i.e. remove it from the page
    //unset( $tabs[1] );

// let's add a new "contribution" tab with a different name and put it last
// this is just a demo, in the real world, you would create a url which would
// return an html snippet etc.

$url = CRM_Utils_System::url('civicrm/order',"reset=1&snippet=json&force=1&cid=$contactID" );
$tabs[] = array( 'id'    => 'orderTab',
                 'url'   => $url,
                 'title' => 'Orders',
                 'weight' => 1 );

}

With this function I added a new tab.

2- I enter in Administer/System Settings/Directory the location of my extension ..wp-content\plugins\ccbc_order_tab\ccbc.order\

3- I use civix to create my extension ccbc.order and in my folder I create a page:order

4.- My order.xml created in xml/Menu/order.xml it shows:

    civicrm/order
    CRM_Order_Page_Order
    Order
    access CiviCRM

5- at the moment my page redirects to CRM/Contact/Dashboard.tpl.

Please can you help, what settings I missed?

Thank You

Nilda

It appears you are confused about the difference between a CiviCRM Extension and a WordPress Plugin.

I would recommend you to write a native CiviCRM extension and enable it from the civicrm/administer page (you might need to set up the extension directory path first).

If you generate an extension with civix, it will take care of reading the xml to handle the url of the page you created and all the stuff you'd need to support your custom tab


The CiviCRM public extensions directory at https://civicrm.org/extdir/ver=5.4.1|cms=WordPress could not be contacted I'm getting this error pretty regularly lately, specifically after upgrading from 5.4.0 to 5.4.1:
The CiviCRM public extensions directory at https://civicrm.org/extdir/ver=5.4.1|cms=WordPress could not be contacted - please check your webserver can make external HTTP requests or contact CiviCRM team on CiviCRM forum.

My dashboard is also pretty frequently showing "Sorry but we are unable to provide this at the moment"

Weird thing is I have another test instance on 5.4.1 and it's working fine. (Both instances in question are running on Amazon Lightsail.)

Are there maybe some directory permissions or something along those lines I need to check? I did some basic checking between the test instance that's working and the one that isn't and didn't see anything obvious.

Thanks for any ideas anyone has.

The dashboard issue is a known issue in CiviCRM 5.4. The latest version of CiviCRM solves this.  I'm not sure if that would also affect the extensions directory though.  Please comment on this answer if it does though!


Is there a way to have a "from and to" field , need this for business hours "to and from" I want to record the working hours from my prospects, so I need a flexible to and from field, like:

9-5, 8-5 etc...

I could do drop down selects, but I would rather have it custom, so a double drop down selection field, a little like the date field but only for hours , no date, month etc...

This is not currently available in CiviCRM to have time range custom field. The alternate solution would be to create two date time field To and From and using buildForm hook and PageRun hook and/or JS hide the date field on forms and view.

HTH

Pradeep


Question for current employer field This is actually a very common use case which in CiviCRM, it doesn't seems to be a way to deal with it yet.

Scenario:

a CiviCRM integrated site that keeps both users and their employment information
they are collecting users' employment information via event sign up form
they have quite a field organisations with same name in their database but different postcode (or some other information)
they don't want to publish the names of organisations they have in their database (dislike auto-complete)

Currently with only 'current employer' field, users are not able to accurately match their record with correct organisation.

Is there any implementation out there to deal with this scenario?

Maybe we need to add a postcode field for current employer in CiviCRM profile?

This will always be an issue if autocomplete isn't an option and you're dealing with user input... they will never do exactly what you want or expect :).

I think the solution will somewhat depend on the size of your organization. For our operation (events under 3k people), we display a non-editable field of Current Employer in our event registration profile so someone can see what we have on file but cannot touch it.

Just under that, we have a plain text custom field called employer update with some instructions. If they need to update what we have in the database or if it is empty, they should fill it out.

Before each event, our membership manager (or her intern, or a script but this org has lots and lots of 'special snowflakes' so I wouldn't recommend it in that case) goes through the registrants and updates people who have the "employer update" field filled in, and clears out that field as they go.

This prevents a massive number or organization duplicates from being created.


Suggested Approach for Cart style donations (Donation Pages) for Crowdfunding P2P site My Question is: For the current 4.6.4 CiviCRM are there any suggested solutions / recipies to create a crowdfunding / P2P site with shopping cart style options ?  Also, please comment if this is something you are interested in building/funding/etc.

Goal: Build a P2P Crowdsourcing Application that integrates with CiviCRM
Crowdfunding / Peer2Peer social campaings have been very popular and effective.  Civi has critical pieces to running a crowdsorucing platform but an important part is to select multiple causes and add to a cart.
Some great sites out there are:

Razoo
CauseVox
Indiegogo
Fundly
Classy
FirstGiving
Justgive
And many many more of all shapes/sizes (I have some lists if anyone needs one.)

I found some 3rd party services that (claim) to integrate with CiviCRM (I'm open to using a 3rd party but these seem to provide data and not workflow integration.):

justgiving.com
flipcause.com

CiviCRM is really well suited to provide many "causes" and integrate back-end workflow.  For example, each of the causes being a donation page and leverage the p2p are personal campaign pages.

I'm working with an organization that wants to integrate Civi workflow and allow the following:

1. Create a Grant Application (ie. A Cause)
2. When Grant is approved generate a donation page
3. Populate the donation page with a story and info from the Grant
4. Display pages in CMS
5. Checkout / payment via donation page in CiviCRM.

Most of this is nicely built-in to CiviCRM but there are a couple of issues:

Checkout is for a single donation page, but want the opportunity to "Shop" for multiple in one checkout. (major)
We could be looking at 100s of donation pages which may get tricky to manage without some hierarchy in the backend(minor)
Custom relationship between grant and donation page (minor)

There are several solutions for Civicrm Events with built-in shopping cart logic and a new Order API.  There are other modules / extensions that require a shopping cart:

https://www.drupal.org/project/uc_civicrm    Druplal Ubercart has a shaky future - Commerce has the limelight
https://www.drupal.org/project/commerce_civicrm  Not maintained - older version support
Webform Civicrm is another option, but it only supports one static donation page.

More discussions here:

http://forum.civicrm.org/index.php?topic=32376.0
http://forum.civicrm.org/index.php?topic=29879.0
What is the most integrated Drupal 7 shopping cart for CiviCRM?

I think Commerce is still your best option. We have moved away from using the module and instead are building Commerce solutions using the Civi Rules module. That way we get full 'cart' features as provided by Commerce and its many contrib modules, plus the integration required for sych'ing contacts etc.


CKeditor security issue--does it impact CiviCRM and what to do? Drupal security reported
Project:
Drupal core
Date:
2021-May-26
Security risk:
Moderately critical 14∕25 AC:Basic/A:User/CI:Some/II:Some/E:Proof/TD:Default
Vulnerability:
Cross Site Scripting
Description:
Drupal core uses the third-party CKEditor library. This library has an error in parsing HTML that could lead to an XSS attack. CKEditor 4.16.1 and later include the fix.
What should CiviCRM uses do regarding CKeditor within CiviCRM? Is the library installed or is it served via CDN and updated to the latest version?

See https://github.com/civicrm/civicrm-core/pull/20428 which will be in 5.38. But my quick read of it is that the addons affected are not installed by default.


Installer fails with Cannot execute CREATE TABLE civicrm_acl_cache First, thanks to anyone who takes a look at an issue I can't get to the bottom of regarding a Civi 5.33.2 install.
The issue: When running the installer I get the following error:

Civi\Setup\Exception\SqlException: Cannot execute CREATE TABLE civicrm_acl_cache ( id int unsigned NOT NULL

There is more to the error but I believe I am stuck on permission issue. I seem to be missing a GRANT privilege but I can't find which one I'd need.
Installing CiviCRM 5.33.2 under Drupal 7.78. I have a separate Civi MySQL 5.7 database (running under Centos 8) from my Drupal database but I use the same user to access both databases. I've created the civicrm database as follows:
CREATE DATABASE civicrm CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, TRIGGER, CREATE ROUTINE, ALTER ROUTINE ON civicrm.* TO 'accessuser'@'localhost' IDENTIFIED BY 'somepassword';
I have the CREATE privilege so it's odd to be told I can't CREATE a table. Any ideas?
Thanks

(Might not be an answer but posting as answer since this won't fit in a comment.)
See https://docs.civicrm.org/installation/en/latest/general/requirements/#mysql-permissions. You don't have REFERENCES permission.
What's the full error if you run the create table manually? It looks like this:
CREATE TABLE `civicrm_acl_cache` (

     `id` int unsigned NOT NULL AUTO_INCREMENT  COMMENT 'Unique table ID',
     `contact_id` int unsigned    COMMENT 'Foreign Key to Contact',
     `acl_id` int unsigned NOT NULL   COMMENT 'Foreign Key to ACL',
     `modified_date` timestamp NULL   COMMENT 'When was this cache entry last modified'
,
        PRIMARY KEY (`id`)

    ,     INDEX `index_contact_id`(
        contact_id
  )
  ,     INDEX `index_acl_id`(
        acl_id
  )
  ,     INDEX `index_modified_date`(
        modified_date
  )

,          CONSTRAINT FK_civicrm_acl_cache_acl_id FOREIGN KEY (`acl_id`) REFERENCES `civicrm_acl`(`id`) ON DELETE CASCADE
)  ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC  ;


What is the (Long term) strategy for CiviCRM's intergation on CMS? Thinking about this topic, I'm wondering about the strategy of CiviCRM in terms of supported CMS?
CiviCRM can now be embedded on 5 CMS (DRUPAL 7, DRUPAL 8, Joomla, WordPress and Backdrop) and this asks a lot of work from the community to maintain functioning versions on all of them, but not only because it also involves specific documentation for each CMS or functional differences between CMS because Webform is not Caldera or Gravity form and I don't know about Joomla. I can think of this heterogeneous environment to be more of a drawback in 5 years.
Even if it's very user-friendly, is this strategy sustainable in the long-term? We already use 2 CMS (DRUPAL 7 and WordPress) and with the end-of-life of Drupal 7 we'll probably switch our Drupal instances - some or all of them - to Backdrop in 2021. Which means a 3rd CMS to learn (same-same but always different) and manage.
Is there a decision taken from the board to stop maintaining in the future Drupal 7 or to make CiviCRM a stand alone web application like vTiger for example, to focus on Drupal 8/9 or to go to another direction?
Who knows about this?

It's a good question and it has been asked several times over the years. There are pros and cons for both. Up until around v3.0 civi did have a standalone version, and at the time it was felt that supporting that required too much resources, but as you note there's now 5 CMS's and it seems like just as much work.
This post is old but not much has changed except I don't think CiviDesk still offers their version.
For drupal 7 specifically, when drupal 7 itself becomes unsupported civi will probably drop official support for drupal 7, but the community might still unofficially support it for a little longer the same as drupal 6.


how to drop all civicrm tables using drush? Civi is using it's own (not shared with Drupal) database.  During a script to rebuild a dev/test site from production data I want to drop all the tables in the civi dev db.  How do I do that?

After painstakingly trying civitables=$(drush civicrm-sql-query "show tables" | tr '\n' ',' | sed 's/,$//') && drush civicrm-sql-query "drop table $civitables" I realized I could more simply do drush civicrm-sql-query "drop table like 'civi%'" but both of these are giving me "Query failed" error.  Why would these queries fail or what could I inspect to see why the failed?  How can all the tables be dropped using drush?

*edits...

The drop table like... is apparently invalid sql sytax.  Doh.

And the civitables=$(drush civicrm-sql-query "show tables" | tr '\n' ',' | sed 's/,$//') && drush civicrm-sql-query "drop table $civitables" appears to fail due to Cannot delete or update a parent row: a foreign key constraint fails which apparently needs SET FOREIGN_KEY_CHECKS=0; in order to work but when I do that the query passes (doesn't produce error) but fails to delete any tables.

There's a file in the [civicrm root]/sql folder called civicrm_drop.mysql. You should be able to use that as source sql/civicrm_drop.mysql. It doesn't drop views or the canary table, but you can do that separately.


Rest api's Give a 302 found and redirects to Login Page http://crmqa.org/sites/crmqa.org/modules/civicrm/extern/rest.php?json=1&entity=pax&action=fetchAddressDetails&api_key=apikeyofcontact&key=sitekey

When I call this through ajax and check in console I see 302 found and response is the login page of my application.
In some other cases the api works fine it gives the required response when it is passed as form data.
Eg: Doesn't work

$.ajax({
           url: weblink,
           dataType: "json",
           method: "POST",
           contentType: "application/json; charset=utf-8",
           data: '{"pincode" : "' + pincode + '"}',
           success: function(data) {
               if (data.length > 0) {
               } else {
               }
           }});

but this: Works

$.ajax({
            url: weblink,
            dataType: "json",
            method: "POST",
            data: { "event_id": event_id },
            success: function(data) {
                $('.loading').remove();
                $('.event_id').val(event_id);
                //my code
            }});

Please help.

finally I got the issue. It was related to the api URL. In ubuntu we created a link folder so the url worked. In windows the symbolic link was not created and also doesn't work so based on htaccess since the api was not found at the location it was redirecting to login page .
Small thing but took hours to nail it down . Thanks anyways :)


Where is the merge function for CiviMail located in code? CiviMail has a great feature that finds intended recipients with the same email address prior to a mailing and prevents multiple emails getting sent to the same address.  It seems similar to the Merge Address or Merge Household features in the Export action. Where in the code base is the CiviMail merge functionality located?

I'd like to create a similar function for CiviSMS and am looking for a starting point.

Based on the merge functions I've found in Export (https://github.com/civicrm/civicrm-core/blob/master/CRM/Export/BAO/Export.php), I've tried a few different searches on GitHub for the CiviMail merge function like "mergeemail" or "merge_email" but can't find anything yet.

Well I think the dirty work is done here in a sql statement using a group by clause. I don't know the code base at all however. I am on win7 and use the grepWin program.

..\civicrm\civicrm\CRM\Mailing\BAO\Mailing.php

Line 558

  // CRM-3975
  $groupBy = $groupJoin = '';
  if ($dedupeEmail) {
    $groupJoin = " INNER JOIN civicrm_email e ON e.id = i.email_id";
    $groupBy = " GROUP BY e.email ";
  }

CiviMail should have the option of not sending duplicate emails
https://issues.civicrm.org/jira/browse/CRM-3975


View contacts but not activities I'm a bit stumped on permissions.  I'm trying to create a user role that can

See and edit any user
See and edit custom fields for the user
NOT see or edit activities for any user
NOT see any financial information for any user

I tried this combination of settings:

CiviCRM: view all contacts : CHECKED
CiviCRM: view all activities : NOT CHECKED
CiviCRM: Delete activities : NOT CHECKED
CiviCRM: access CiviCRM backend and API : CHECKED
CiviCRM: access Contact Dashboard : CHECKED

This arrangement seems to allow the user to see all contacts but also all activities on all contacts.

If I remove "CiviCRM: view all contacts" then the user can see no contacts at all, and no activities.

I don't really understand why "view all contacts" gives access to see activities when the activity permissions are turned off.  That seems counterintuitive.

And I can't find a combination of permissions that allows a user to see/edit all users, but not see/edit any activities.

Suggestions?

(CiviCRM 5.8.2 on Drupal 7.  I'm aware a security update is needed to CiviCRM.)

I guess Activity type ACL extension will do your job. This extension provides additional permission for each activity type. By default its set to false for all activity type.

HTH

Pradeep


Mailing sent with wrong link I've just realised I've sent an email out with a broken link.

Unfortunately it's munged in a way that means that I can't easily catch it with a drupal redirect.

I could probably figure out an nginx regex to match this - but is there an easier way?

Yes.

There is a way that doesn't involve nginx regex's (https://xkcd.com/208/)

If you are comfortable accessing your civicrm database directly you can locate the correct row in the civicrm_mailing_trackable_url and update the value of the url.

If you run

select id, url, mailing_id from civicrm_mailing_trackable_url where mailing_id = X;

Where X is the mailing id - you will get a list of urls for that mailing and you should be able to pick out the broken link and update it.


Can't seem to access Session values in module's API file I can't seem to access session values on API definition. var_dump($_SESSION) returns an empty array event after putting session_start().

api/v3/MymoduleEntity.php

function civicrm_api3_mymodule_entity_method($params) {
  session_start();
  return var_dump($_SESSION); // Returns an empty array
  ...
}

You can try

-- Variable to set in CiviCRM session

CRM_Core_Session::singleton()->set('myVariable', 'Yes, I am in current Session');

-- get value of variable from CiviCRM Session

CRM_Core_Session::singleton()->get('myVariable');

HTH
Pradeep


How to set up the filtering in Drupal Views to target the correct CiviCRM Activity I've got a Drupal View that identifies a specific activity within a case and provides a link to the activity using its ID number. It appears to be working correctly in the majority of use cases, where I can simply filter out deleted cases, and filter on the activity type, status and current revision to find the right activity.

However, in some cases the view is showing me a link to an activity which I can't see when I view the 'Manage Case' screen. Indeed the activity ID that the view is presenting doesn't even show up when I search within CiviCRM for activities that match the other filters I'm using in the view.

It looks like CiviCRM - at least in the version I'm using in this case - is changing the ID number of activities when the activity gets edited?

When you edit a case activity, it creates a new version of it, and that does indeed have a different ID.


How do I add the With Contact information to the email that gets sent to activity assignees? In any activity that I create, I want to include the With Contact's Phone and Email address in the email that goes to the assignee. I can't do this right now and I need to enter the information manually.

Why do I need this? When I assign the activity to any person, that person might not have access to CiviCRM to look up the info. I don't want to enter the data manually. This is a serious waste of time.

An example of what I want to do is in the following diagram.

The template to edit is the one called "Cases - Send Copy of an Activity" under Administer - CiviMail- Message templates and then click the System Workflow tab. The name is historical - it isn't just for cases.

But it seems like it's not currently possible to get the With Contact information since even the activity id is not available in the template. There is minimal data to work with.

You could do this by customizing CRM_Case_BAO_Case::sendActivityCopy() to include more information. I could see that being useful as a core improvement, to at least include the activity id and related contact ids.

Note that it's possible to have multiple With Contact's on an activity, so if there's more than one you'd need to handle that.


Automatically sync new Wordpress registrant to CiviCRM Contact We are in the process of switching a database of several thousand contacts to CiviCRM. We have a legacy Wordpress site, so we have CiviCRM nicely integrated in. We are about to go live. We don't want to force ALL our existing contacts to become Wordpress users, but as they renew memberships, give donations, sign up for events, we want to give them the option to register as a Wordpress user (Subscriber - we currently have 0 Wordpress Subscribers and a handful of WP Administrators). We are only requiring email and password to register. How do I get the new registrant to automatically either (1) become a new contact if the email is not in the CiviCRM contacts or; (2) simply assign the login to the right CiviCRM contact when the email matches? We can register new Wordpress users and run "Synchronize Users to Contacts" which works as desired, but we don't want to run the manual step. When they register the first time on Wordpress, we want the Contact relationship established immediately, so that they will be logged in and then can do the kinds of things we want our CiviCRM members and donors to do online.

Thanks for any help - we're pretty new at CiviCRM, really like it, but are still coming up to speed.

CiviCRM does this by default. Every time a new user signs up for a Wordpress account on your site it will create a CiviCRM contact record automatically.


Membership due change over time I have a lifetime membership running for my organization. The dues for the membership have changed over time and will change over time in future. I want to classify everyone as a life member but at the same time track the different amount paid by different members based on the time of their enrollment.

I can use the price set option to enter multiple price for same membership.  How I go about it?

Edited for clarification : the membership amount was X in 2000 , then it increased to X+Y in 2010, then it increases some more in 2015 like that. But all are under the same scheme. Just that in due course of time, the membership dues was increased by the organization. It is not an annual payment model. Once the desired payment is completed, thats it. There is no renewal. They are members for lifetime

This sounds like you want a Lifetime membership type with its minimum fee to level up every "x" years. Similar to purchasing a Gold - you can have it for lifetime but its price just increases with time.

If this is what you want, simply create a membership type from Administer -> CiviMember -> Membership Type with duration set to lifetime and write a custom code in extension/module which increases the minimum fee value of this membership type id with time in year.

Refererence for creating an extension - https://docs.civicrm.org/dev/en/master/extensions/civix/


Activating component CiviCase failed I want to activate CiviCase in admin/setting/component?reset=1 and this results in an "DB error".

This is the error-log:

   CiviCRM_API3_Exception: "DB Error: already exists"

[...]

Entschuldigung, eine Bereitstellung ist uns gerade nicht möglich.
DB Error: already exists

Solved :)

I activated CiviCase in the paste and deactivated it. Some sample relationship remained in the database. So deleting them is the answer...


Need clarification on switching CiviCRM hosting from a host/consultant We are currently hosting with a company that also assists us with are CIVI Crm. We are interested in moving our site to a new host and would like to know if the CIVI will move with it? Without having in-depth knowledge of the "back-end" of Joomla/CIVI... I would like to speak with a representative to get a clear understanding of how we can continue to use CiVI and yet obtain a new hosting company. Please, could somebody call me and help us through this transition? Thank you, Tacey Martinek-978-772-2787

Yes, you can move your Civi installation to new hosting (though it is recommended to use a knowledgeable/experienced provider to do so; and you sound like you are on board with that idea). A good place to start is with one of the providers listed here: https://civicrm.org/partners-contributors

Here is some background on those providers listed and some tips on selecting a new provider: https://civicrm.org/about-service-providers


Password not accepted for inbound email I created on our mail server an email account inbox.civicrm, and checked it with the webmail facility: username inbox.civicrm@example.org and password are working.

Then, i created in CiviCRM an email account with

server = example.org
user = inbox.civicrm
password = same password as used in webmail (tested several times)
domain name = example.org

But the connection is refused, with SSL or not, POP3 or IMAP.

The error message in the CiviCRM log:

(
    [message] => Kan geen verbinding maken met Mailstore voorinbox.civicrm@example.org&lt;p&gt;Foutmelding:&lt;pre&gt;An error occured while sending or receiving mail. The POP3 server did not accept the password: -ERR [AUTH] Authentication failed.
.&lt;/pre&gt;&lt;p&gt;
    [code] =>
)

In this question Process Inbound Emails Failed, the password was the problem. Where to look for when a wrong password is not the problem?

Drupal 7.35 CiviCRM 4.7.14

I believe that the "fetchmail" approach outlined by Chris Burgess on this answer is a good troubleshooting step.


Mailing is saved but does not reach recipients I'm really out of my depth now.
Here is the situation:
CiviCRM version 5.36.0
Wordpress Plugin
Hosted on Linux Server
Administer->System Settings->Outbound Mail: enteredSMTP-Server, Testmail is sent and arrives at destination.
View Contact->Actions->Send an Email: Mail is sent and arrives at destination.
Mailings->New Mailing->Testgroup: shows 2 recipients.
Send test (single) 2nd try: Mail is sent and arrives at destination.
Send test (Testgroup - same as final recipients): Mail is sent and arrives at destination.
Next->Send immediately->Submit Mailing: Mailing is listed as scheduled, Email does not arrive at destination.
The Mailing report doesn't show any bounces.
I have tried different recipient addresses (two different test groups) on different mail services. I have tried with two different Mail providers for outbound mail. Everything works except the final mailing. I have no idea what else to test.
Thanks
Martin

It's maybe not obvious but send immediately for mass mailings means "schedule it now". You need to set up the scheduled job that sends out mass mailings. See https://docs.civicrm.org/user/en/latest/initial-set-up/scheduled-jobs/#job_process_mailing


"Invalid Contact ID" displayed after merge? Drupal 7, Civicrm 4.7.4

I'm getting this error message after every contact merge. Any ideas?

debug message

CiviCRM_API3_Exception: "Invalid Contact Id"

 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Dedupe/Merger.php(1945): civicrm_api3("activity", "create", (Array:5))
 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Dedupe/Merger.php(1834): CRM_Dedupe_Merger::createMergeActivities("55836", "197792")
 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Contact/Form/Merge.php(318): CRM_Dedupe_Merger::moveAllBelongings("55836", "197792", (Array:35))
 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/Form.php(423): CRM_Contact_Form_Merge->postProcess()
 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/StateMachine.php(160): CRM_Core_Form->mainProcess()
 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Next.php(61): CRM_Core_StateMachine->perform(Object(CRM_Contact_Form_Merge), "next", "Next")
 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Next->perform(Object(CRM_Contact_Form_Merge), "next")
 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Contact_Form_Merge), "next")
 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle("next")
 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Utils/Wrapper.php(113): CRM_Core_Controller->run()
 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/Invoke.php(286): CRM_Utils_Wrapper->run("CRM_Contact_Form_Merge", "Merge Contact", NULL)
 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/Invoke.php(86): CRM_Core_Invoke::runItem((Array:13))
 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/Invoke.php(54): CRM_Core_Invoke::_invoke((Array:3))
 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/drupal/civicrm.module(454): CRM_Core_Invoke::invoke((Array:3))
 [internal function](): civicrm_invoke("contact", "merge")
 /var/www/vhosts/example.com/httpdocs/includes/menu.inc(527): call_user_func_array("civicrm_invoke", (Array:2))
 /var/www/vhosts/example.com/httpdocs/index.php(21): menu_execute_active_handler()
 {main}
 Sorry but we are not able to provide this at the moment.
Invalid Contact Id

Ah - if the contact id doesn't exist perhaps delete to trash is off?


Can't Uninstall CiviCRM from Joomla after failed civiCRM upgrade I am on Joomla version 3.8.2 with Php 7. I tried to upgrade to CiviCRM 4.7.28 but it failed because it was partially installed and missing important files. Now, I can't get into the Joomla administration back end to reinstall it or delete it because when I log on to the admin, I'm getting a black white screen that when I turn-on debugging, shows the error message. Subsequently, I can't do anything with the site.

My question is how do I delete civiCRM or reinstall it without doing it through Joomla?

I unzipped the civcicrm file that did not get unzipped during the upgrade process. This allowed me to get the Joomla admin area back. I downloaded an alt version of civicrm and tried the upgrade again. It didn't work but at least I can get back into my joomla admin.


Is 'insert tokens' broken for TinyMCE when creating templates Have shown this to be the case on 2 sites. First site reported the problem and were using TinyMCE. Second site was using CKEditor had no such problem. I then set their wysiwyg to TinyMCE and bingo replicated problem. Can't replicate on Demo as demo user is missing permissions to edit Message Templates.

My search on JIRA found this which may be an earlier example of the problem, but perhaps it has come back to life

You're right, it was a bug. Here's a fix for 4.7.

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

The code in 4.7 is a lot cleaner than 4.6; I don't think fixing it in 4.6 will be a priority for the core team.


Backbone isn't loading on Civi 4.6.11/WP 4.4.1 UPDATE: Changing my theme seems to have fixed the problem - but I'm not sure how to fix the original theme.  Any advice on that issue is still welcome!

I'm seeing symptoms identical to this question: Backbone JS error with 4.6.4 on WP messing up contribution page set up

Pages using Backbone - particularly the "Include Profile" contribution configuration page - are broken, and the JS console says:

TypeError: Backbone.Marionette is undefined
TypeError: Backbone.CollectionSubset is not a constructor

However, the issue seems to be different than other folks experiencing it.  Here's what I've tried so far (including all at once):

Disabling all WP plugins except CiviCRM.
Disabling Summary Fields (the only CiviCRM extension in use).
Clearing cache, deleting templates_c.

What else can I look for regarding this Backbone error?  I assume it's a collision with WordPress's Backbone, but I don't know enough about Wordpress to troubleshoot that.

I think that when I had this it was caused by a theme loading a newer version of Backbone. Can you dequeue the script in that theme's functions.php? And try queuing the Civi version direct? Admittedly a bit of a long shot.


Upgrade to 5.9.0 - 'From' address for e-mail confirmations has changed Following our upgrade to CiviCRM 5.9.0, the 'from' address for event registration confirmations has changed to "7306@civi.acenterprises.org.uk"

It should be ""Ian Foster" " - and this is what still appears in the list of 'From' addresses in CiviCRM settings.

I've looked at contact ID 7306, in case it is a contact ID, and they have no significance in our system.

Baffled!  Any thoughts? Thank you.

This is now fixed and should be part of next release hopefully. You may wait for next release or apply patch manually from here.


What can I do to fix my database that has been partially upgraded? I have run into this problem on two of my websites that run Civicrm separately. Both are running version 4.5.8. When I run the automatic installer, the update process seems to freeze for an infinite amount of time and quits updating the database and all of the core files. With one of my sites, I was able to make a backup of the database prior to the error and reverted back to version 4.5.8, however, I wasnt able to make a backup of the other and now I am unable to update Civicrm at all, and it gives random errors when running certain tasks. I also am presented with the following error:
"Database check failed - the database looks to have been partially upgraded. You may want to reload the database with the backup and try the upgrade process again."

What can I do to fix my database so that I can be able to update CiviCRM in the future or is there a way to bypass the database check and have it update CiviCRM without further error?

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

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

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

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

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


How to access the crm files We would like to change the minor changes in the content page and webform design, dont know how to access the file. How to get the FTP files from my site need to add custom css file. Any help please.

I would recomment reading up on how to customize CiviCRM here: https://docs.civicrm.org/dev/en/latest/ and here: https://docs.civicrm.org/sysadmin/en/latest/customize/extensions/

That should answer your question and also allow you to do the customizations in a recommended and structured way.

If you would like a more specific answer it will help us all ot help you if you tell us a little more about what you want to change for what reason, what version of CiviCRM you are using and what CMS.


Is there a way to search/export potential duplicates? I'm about to run dedupe (Contacts > Find and Merge Duplicate Contacts) and I was wondering if there is a way to put all potential duplicates from a certain rule into a group so I could export them as a backup before I start merging.

For example, I was hoping the Advanced Search page would have a field to search by dedupe rule but I don't see that type of option. Am I missing it, or is there another way?

There is no direct way that I am aware of, but you can call the dedupe function in the BAO from an extension?


Insert file into greeting field with Smarty When the content of the Email Greeting or the Postal Greeting field is getting too long, CiviCRM is no longer able to edit it through the GUI, what happened since I have activated Smarty and inserted large expressions.
I want to have a standard greeting that works for every gender, language and style.
This was working:
{capture assign=language}{contact.preferred_language}{/capture}{capture assign=prefix}{contact.individual_prefix}{/capture}{capture assign=style}{contact.communication_style}{/capture}
{if $style == 'Formal'} {if $language == 'fr_FR'}Cher{elseif $language == 'nl_NL'}Geachte{else}Dear{/if}  {$prefix|replace:'De heer':'heer'|replace:'De heren':'heren'|lower} {contact.last_name}{else}{if $language == 'fr_FR'}Bonjour{elseif $language == 'nl_NL'}Dag{else}Dear{/if} {contact.first_name}{/if}

but the expression is getting too long when I try to add a test about the gender. As a work around, I decided to put this expression inside a file to be included by Smarty with this expression:
{include file='/usr/share/drupal/sites/default/files/my-greeting.tpl'}

but this doesn't work: nothing is included. The file /usr/share/drupal/sites/default/files/my-greeting.tpl has the correct ownership and permissions.
I would like to understand what I am doing wrong, and if it is possible to use this approach without opening a hole in the security of the system.

The length limit of the greetings syntax can be quite tricky, especially when using different languages with gender specific greetings.
Luckily there is the extension More Greetings that provides

additional greeting fields
no length limit for syntax
more possibilities such as using API calls in the syntax
a basic syntax checker


Is it possible to segment data so only users can see certain information? Example: our org has 11 Networks that are geographic (E.g. Europe, Latin America etc). Would it be possible to configure CiviCRM so only staff within our Europe network could see records (contact details, financial details etc) within their network?

Yes, you can do that. Read up on CiviCRM Access Control to get started.


How to customise the activities tab listing I used to hack the Activities BAO to change the search results to make the subject line something more useful; i.e. extract other data from particular activity types and auto-create a summary in place of the actual subject.

I'm doing an upgrade and realised what a royal maintainance PITA this has become :-)

I thought I could implement hook_civicrm_searchColumns but I've tried from a Drupal module and also from an extension created for the job but it does not appear to be being called for the tab selector? Is there another way? I've tried this on 4.6 and 4.7.

I might not be explaining which bit I need to customise very clearly, so here's a diagram:

You can't realy customise the main activities tab. However there are several other options to create other tabs which show activities which do allow more customisation.

Activity Tabs extension written by me, this offers a reasonably easy way to add tab(s) with filtered lists of activities and allows you to choose which fields (inc. custom) you want displayed.
Data Processor extension this is very flexible/powerful, but a bit more of a learning curve (well worth it!)
Extended Reports extension - I've not used this but I believe it allows its reports to be embedded as tabs on a contact record.


Multi-level Organization ACL Permissions For my first CiviCRM implementation I need to set it up for an organization that has several national branches, each with a number of centres.
Contacts belong to a centre and therefore its country.

Role permissions are needed at different levels:
- local managers should be able to view/edit only contacts within their own centre;
- national managers should be able to view/edit only contacts within the same country;
- international managers can access all contacts.

This page of the CiviCRM's wiki is a promising start to give ideas, but it never got completed.

I've made a few attempts using Option Groups, Custom Fields mapped to Smart Groups, but I did not really go anywhere also because the idea of managing about 170 centres in 22 countries that way seems a bit cumbersome.

Can anyone give me ideas on the best approach to handle this ?

While it's more work to set up, I think you'd be very well served by taking advantage of multi-site capabilities of CiviCRM, especially in conjunction with the excellent Multi-site Permissioning extension.  That said - I'm very nervous recommending these tools to someone who hasn't set up CiviCRM before!  It takes a fair amount of web development know-how to get this all working.

This would get you two-tier permissioning for "free".  You need three tiers - local, national, international.  I'd probably give each local group their own site - using Domain Access for Drupal or Wordpress multisite.  Then I'd handle the national level via ACLs.  Hopefully someone might also give good advice on my related question here.

The alternative approach is to write a custom permission extension.  This has a performance benefit, and also leads to much easier management.  However, this requires a much higher level of skill!  I'd say the two shops with proven expertise here are Fuzion and JMA Consulting.  If you're a developer yourself, the Multisite Permissioning extension above is a good example to get you started.


Running report gives me a 404 Having a very odd error with a CiviCRM install on wordpress. Every seems to be working (membership signup, looking up people, etc.) except running reports.

Click on report URL
View report options, then select "Refresh Results"
Page loads "No Results Found"

If I add &reset=1 to the end of the report, it works correctly

CiviCRM 5.15.0
Wordpress 5.2.2–en
PHP 7.2 on hosted service

So I figured out the error seemed to be related to partial upgrade I had (the SQL upgrade had worked, but the system hadn't changed the version number back from .upgrade, so it thought it wasn't finished). Once I fixed that, this problem went away.


Where is my "Address History" link disappeared? I used to have an "Address History" link that appeared when an address was updated in CiviCRM 5.10 probably (can't remember the exact version). I have logging turned on.

But since I have updated to the latest 5.13.5 that "Address History" link has disappeared. I have checked on https://dmaster.demo.civicrm.org and it does not appear there too. Is it a bug or intentional removal? Is there a chance to get this back please, because it used to be a great feature I think. Thanks

I see reference to Address History in the GDPR extension: https://github.com/veda-consulting/uk.co.vedaconsulting.gdpr so perhaps you saw it on a site that was using that


Registering for Event without Email Validation How do I allow people to register without verifying their email address. CiviCRM seems to give 'permission denied' and even 'you don't have permission to view this event' until the email address is validated.

The setup is:

LoginToboggan is used to enable the user to set a password.
Immediate login is used.
The user is given a 'registered' role.
User signs up and receives 'you do not have permission to view this event'.
Follows the email validation process and then can view the event.

An anonymous user can 'view the event'.

I want people to register for the event immediately as many people don't see their email and going offline means a lot forget where they are at.

I set the LoginToboggan non-verified role to 'authenticated user'.

It is possible to set a permission for an 'authenticated user' but not a user with a specific role.


How to reuse Preferred language select? There is the Preferred language field in Communication Preferences which allows to choose the contact's preferred language.

However when I try to create custom fields for a contact's second, third language, I don't find Language as a choice among the other Data and Input Field Types What would be the recommended way to make the language select like in Preferred language available for re-use in custom fields?

With all the languages in a select field defined and available somewhere, what I try to avoid here is that I need to re-enter all these languages by hand for my custom fields.

In CiviCRM, custom fields have the ability to re-use options from another custom field, but not from a core field like Preferred Language. So this is not currently possible via the UI.

2 Solutions come to mind, both using small amounts of custom code:

Write a short script that uses the api to fetch all languages and then copy them into the options of one of your custom fields. Then re-use those same options in 3rd, 4th language fields.
Write a tiny extension that implements hook_civicrm_customFieldOptions and populates those options dynamically by outputting the languages in the system.


What are the minimum and recommended changes to CiviCRM to support PHP 7? To pragmatically help CiviCRM step-by-step to support PHP7 I would like to know what the minimum and recommended changes to CiviCRM to support PHP 7?

This will help developers to identify areas of interest in order for issue https://issues.civicrm.org/jira/browse/CRM-17789 (PHP7 support) to be available.

PHP7 is significantly faster and PHP 5.6 will lose support august 2016 so it is wise to slowly work towards getting CivCRM ready for PHP7 :-)

None any more - as of 4.7.12, CiviCRM supports PHP7


Recurring Memberships We have been struggling with the membership facilities in CiviCRM because we have been unable to find a way of allowing members to pay their memberships in instalments. We are using Drupal 7.x, CiviCRM 4.6.x and the eWay payment gateway. We wish to adopt the eWayRecurring extension to CiviCRM. Ideally we would like to do the following:

Allow members to pay their membership fees in a predefined series of payments. For example if the membership fee is $300 we would like to allow members to make an initial payment of say $100 and then make 4 monthly payments of $50.00
We are comfortable that the initial payment updates their membership in accordance with the membership type. In our case for the fixed period of 1 year starting on 1st January.
Subsequent payments would have no impact on the status of their membership but it would be good if they were 'linked' to the membership, however not critical.

My thinking was to create a Membership Price Set which contains the membership component and separately a recurring contribution to pick up the additional payments. The problem is that it does not seem possible to pre populate the recurring payment with the parameters required and prevent them from being altered by the user.

Is this possible or is there a better way that others have adopted?

I don't have any idea about eWayrecurring extension

we did something similar and our base extension was https://civicrm.org/blog/andyw/offline-recurring-payment-extension

offline-recurring-payment-extension - this extension was creating contribution for a contact which we altered to link with membership

The process which you have explained will create multiple contribution for a single membership

Other way of doing the same would be

Using partial membership which will allow multiple payment for a single contribution - that involves bit more development - still to come in core

I guess this helps !!!


Gift Aid extensions compatible with 5.6.0? Are the Gift Aid extensions compatible with 5.6.0?  I'm planning to upgrade a client soon - they are on 5.1.2.

Andy,

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

HTH

Pradeep


How to match Activities to Contacts during import? We recently distributed supplies to many of our members and used a GoogleForm to create a .csv spreadsheet to track the number of supplies given to each member.  We imported the names of any new members into CiviCRM.

We would like to import the activities, but we are having trouble assigning the activities to the appropriate contact.

We have separate columns for first name, last name, address, but don't have emails for all contacts, and the .csv does not have a Contact ID for each contact.  How do we import the activities? We could also just create one activity and batch update the details, but in every case we can't seem to figure out how to get all the contacts assigned to the activity.  It's about 300 contacts, so we'd rather not enter it manually!

Export the contacts with their contact ID, first name and last name.  (Hopefully you have a way of searching for just the new contacts, but if not, exporting a larger group of contacts will be OK)

Open each CSV in something like Excel or Calc and create a combined "First Last name column in both.  You can then use vlookup (in Excel) or the equivalent in Calc to add the contact id to the list of activites you want to import.


GDPR extension Captcha It appears that Google Captcha does not seem to work with the GDPR extension.

I have a fully working setup using profiles as normal on site - which can be seen here

https://peoples-press.com/index.php?option=com_civicrm&task=civicrm/profile/create&gid=57

However, on this form,

https://peoples-press.com/index.php?option=com_civicrm&task=civicrm/gdpr/comms-prefs/update

I have captcha activated but it does not show on form. If I click Save then it alerts me to complete Captcha despite it not being possible. Form works fine if I deactivate Captcha.

Joomla 3.8.7 and Civicrm 5.1

Quick update, we're releasing a new version which has the ability to include captcha. It will be available from tommorrow (v2.6).


Dedupe Rule - blank matches We have a custom field - 80% of our contacts have this custom field in their profile - the rest are blank.

We setup a rule - if 7 characters or more of the custom filed are a match - it meets the threshold - however - contacts with blank custom fields are coming up as possible duplicates. Why is that?

Latest Civi - Drupal 7.

It's coming from line 179 in CRM/Dedupe/BAO/Rule.php, but it looks as if it's been like this forever so I'm not sure if there's a reason.

If you change line 76 where it sets $on to be the below code instead, it makes it work but I can't immediately see if that has any side-effects for other types of rules.

    $on = [
      "SUBSTR(t1.{$this->rule_field}, 1, {$this->rule_length}) = SUBSTR(t2.{$this->rule_field}, 1, {$this->rule_length})",
      "t1.{$this->rule_field} IS NOT NULL",
      "t1.{$this->rule_field} <> ''",
    ];

Note that dedupe checking caches results, so after you make that change clear cache at admin - system settings - cleanup caches.


Display CiviCRM Price Set end date in view I am trying to display the end date of a price set in a view.  It seems like that data is stored in Price Field, but I can't figure out how to make that accessible in the view.  I installed the CiviCRM Entities module, which has given me access to the Price Set entity, but not the Price Field entity.

I am using Drupal 7 and CiviCRM 4.6.28.

If you install the CiviCRM Entity Views Extras module you will be able to add a Views relationship to access the price field fields in your view


Cloning a site in WPEngine I'm running CiviCRM on WPEngine. It works real fast and seems to be working well otherwise. No error logs occur on production side. The staging environment does not work, I get a 500 error when I try to access Civi there.

I also tried to clone the install and create a testing area but that also gives the same issue.

I am getting this error.

Does anyone know how this would be resolved? Thanks!

[Thu Jul 27 14:02:29.745288 2017] [:error] [pid 26200] [client 88.87.189.26:25979] PHP Fatal error: require_once(): Failed opening required 'CRM/Core/ClassLoader.php' (include_path='.:/nas/content/live/lpiacrm/wp-content/plugins/civicrm/civicrm/:/nas/content/live/lpiacrm/wp-content/plugins/civicrm/civicrm//packages:.:/usr/share/php') in /nas/content/live/lpiacrmtest/wp-content/uploads/civicrm/civicrm.settings.php on line 467, referer: https://lpiacrmtest.wpengine.com/wp-admin/

Your error message has a path with the word "live" in it (/nas/content/live/etc) which suggests that the civicrm_root value hasn't been changed on the test site.

civicrm.settings.php is the equivalent of wp-config.php - you need a separate version of this file for your live and test sites.  Please review your test site's civicrm.settings.php - not just to fix the civicrm_root but also the database settings, base URL, etc.


creating a custom group and and field using extension I am trying to create a custom group and custom field using extension.
I created seperate funtion

function custom_group_create_example() {
$params = array(
    'title' => 'Test_Group_1',
    'name' => 'test_group_1',
    'extends' => array(
        '0' => 'Individual',
    ),
    'weight' => 4,
    'collapse_display' => 1,
    'style' => 'Inline',
    'help_pre' => 'This is Pre Help For Test Group 1',
    'help_post' => 'This is Post Help For Test Group 1',
    'is_active' => 1,
);

try{
    $result = civicrm_api3('CustomGroup', 'create', $params);
}
catch (CiviCRM_API3_Exception $e) {
    // Handle error here.
    $errorMessage = $e->getMessage();
    $errorCode = $e->getErrorCode();
    $errorData = $e->getExtraParams();
    return array(
        'is_error' => 1,
        'error_message' => $errorMessage,
        'error_code' => $errorCode,
        'error_data' => $errorData,
    );
}

return $result;

}

I call this funtion into

  function contact_civicrm_install()

this funtion(hook).
But problem is that it is not creating any custom group.
How to resolve this problem.

Here is how I add custom groups and fields:

as a first step, add an upgrader to your extension with civix generate:upgrader
then add the call to your creating function to the install function in the upgrader:

     public function install() {
        // install custom groups and fields
        CRM_Example_CustomData::createGroupsAndFields();

I also think your extends does not have to be an array? I use

'extends' => 'Individual',


Hide "Add Relationship" Button I would like to remove the "Add Relationship" button from the Relationship tab. I've been auditing some of the data and noticed that my users have been adding and removing relationships from this page. This caused a couple of data issues because the relationships are not connected to the cases. Then relationships were duplicating.

Anyway, I tried removing the "Add Relationships" button via css. The actions-link css, however, affects other pages.

Not sure what CMS you're using - it would be nice if you could permission this but I can't in WordPress so I see the need you have.

Just add the parent selector as well:

.contact-summary-relationship-tab .action-link
(the parent id an ID not a class but when I place the pound sign it thinks it's formatting)

Keep in mind, there is still an option in the actions menu as well that you'll want to hide.


email bounce processing not working. site on AWS, using Zoho email I have created a test user group of 10 users, with 3 users having bogus email addresses that I know will bounce. I send bulk email to this group, and the mailing report shows 10 successful deliveries and 0 bounces.

I am using civi 4.6.16. I go to Administrator/system settings/Scheduled Jobs/Execute Now, and then view the job log. It is showing "Finished execution of Fetch Bounces with result: Success (a:0:{})"

Unsubscribe requests are working fine. The site is hosted on AWS. Email is hosted on Zoho. Zoho email alias is bounce@website.com.

Any ideas?

Is your bounce address set up properly in Administer menu > System Settings > Mail Accounts?  Documentation is available here.

If you're good there, make sure you can log into the bounce processing account with the credentials you've stored.  Also, what protocol have you set on that page?  Is IMAP an option for you to use?  If so, CiviCRM will store emails that it's processed in a subfolder on the server.  It makes it easy to look and see whether Civi is doing what you expect.

Finally, if you aren't committed to Zoho, there are many third-party mailers, some of which offer as many as 100,000 messages free/month.  Many have an extension for CiviCRM, much easier to set up than traditional bounce processing.  Check out this blog post that includes a link to a CiviMail calculator.


How to include buttons in Civimail I want to include two buttons in civimail template Accept and Decline. If the user clicks on accept/ decline button, It should notify the administrator with an email.However I can add buttons using HTML.But how do I make this to notify the administrator with an email?Please suggest.

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.


CiviMail and Sparkpost Bounces Not Updating email address "On Hold" We have been using the SparkPost extension (civi desk) about a month and it is sending emails fine.  However, it may not be processing bounces completely and/or I do not understand how it works.  If we get a hard bounce should the contact's email address be placed "On Hold"?  I am getting bounces documented in the CiviMail Reports for a mailing. The only bounce type I see in these reports is "Syntax".  These emails are not getting placed "On Hold".  Should they be placed on hold automatically?

There's a forum discussion here which I think helps towards the answer.  If you look at the table civicrm_mailing_bounce_type there's a threshold of 3 for bounce type 'Syntax'.  I just encountered a bounce for type 'Host' that didn't place the email address on hold, so was also concerned as to why.  The answer is in this table.


Can the Xero accounting package be integrated with CiviCRM? What degree of integration is there between Xero and CiviCRM?

There has been some integration work undertaken by Fuzion and is available in this extension. General functionality:

create contacts in Xero based on them being created (or having had a contribution or recurring contribution) created in CiviCRM. You can configure which of those 3 will cause them to be created in Xero
update contacts in Xero based on the contact or contact details having been updated in CiviCRM
adds a link to the contact summary to the Xero record
adds a link from the contact summary to the contact's transaction history in Xero
creates invoices in Xero based on contributions in CiviCRM (and adds a link in CiviCRM)
where a pending contribution has a payment matched in Xero the CiviCRM contribution is updated (which participant records, memberships etc also being updated & emails sent as configured)
where a contribution is voided or cancelled in Xero it can also be cancelled in CiviCRM

The extension cannot be downloaded through the UI (intentionally) as it defintely requires someone technically savy to be involved in setting it up & maintaining it. You can see much of what is possible at this blog post


After applying for a CiviCRM account, how long does it take to approve? We have applied for a CiviCRM account and wondering how long it would take to approve the application?

If you mean an account with civicrm.org then usually not so long. I have pinged someone on chat.civicrm.org to try and resolve this for you.


How to delete "Not you or want to join..for a different person"? I am a newbie to CiviCRM but have just managed to upgrade civicrm wordpress from 4.5.8 to 4.6.2.

On my membership contribution page, there is now the following entry at the beginning of the text "Welcome Mr. XXX. (Not Mr. XXX, or want to do this for a different person?).  This text wasn't there before. After clicking on the link, the user then gets taken to another page where  they can enter details for the other person.  After entering a few details, other members personal details including names, phone numbers, addresses etc begin to emerge which is not good from a security point of view.

How do I turn off the facility to accept payment for a different person
please?

Thanks

Peter

I think what you see when you have "other members personal details" that emerge is either because they are stored by your browser (so civicrm isn't involved, it's a browser feature) or because you are logged in as a user that has the right to see other members.

Try doing it without being logged in (eg. using the anonymous mode of your browser), you will see that civicrm doesn't show private information to anonymous visitors


Civicrm Unrecognized option in recordGeneratedLetters I was trying to print Thank-you letters. But I am getting the below error. Civicrm version is 5.8.1. Any help to fix the issue is appreciated.

  "Civicrm Unrecognized option in recordGeneratedLetters."

I fixed it myself. Navigated to Administer->System Settings->Misc & set "Record generated letters" to "Do not record" from the drop-down.


Cannot access Group admin - missing API key CMS: Drupal 7.56 (shared hosting at Siteground; cpanel/phpmyadmin access)
Civicrm version: 4.6.34 (followng problem follows recent update)

I (admin 1 - all civicrm persmissions) cannot access Contacts > Manage Groups. Receive the following screen message:

On selecting 'Return to home page' link, the following errors show:

Warning: Illegal string offset 'group_name' in CRM_Core_BAO_Setting::getItems() (line 332 of [path edited].../sites/all/modules/civicrm/CRM/Core/BAO/Setting.php).
Notice: Uninitialized string offset: 0 in CRM_Core_BAO_Setting::getItems() (line 332 of [path edited]/sites/all/modules/civicrm/CRM/Core/BAO/Setting.php).
Warning: Illegal string offset 'group_name' in CRM_Core_BAO_Setting::getItems() (line 332 of [path edited]/sites/all/modules/civicrm/CRM/Core/BAO/Setting.php).
Notice: Uninitialized string offset: 0 in CRM_Core_BAO_Setting::getItems() (line 332 of [path edited]/sites/all/modules/civicrm/CRM/Core/BAO/Setting.php).

Group contacts can be searched (through Contact > Find Contacts > enter group name in search box). Result provides url like:
base_url/civicrm/contact/search?_qf_Basic_display=true&qfKey=9f41ad4096614eb353cac129b335e58a_757 which indicates a valid key existing.

[Edit]: having logged out of CiviCRM and returned, receive following message (civi alert message in top right): "Count data for smart groups is not currently calculated. You may click Update Smart Groups to generate it. Be aware this can cause significant server load".

[Edit 2]: Drupal error logs show:

$backTrace = #0 /sites/all/modules/civicrm/CRM/Core/Error.php(446): CRM_Core_Error::backtrace("backTrace", TRUE) #1 /sites/all/modules/civicrm/CRM/Core/Invoke.php(57): CRM_Core_Error::handleUnhandledException(Object(InvalidArgumentException)) #2 /sites/all/modules/civicrm/drupal/civicrm.module(482): CRM_Core_Invoke::invoke((Array:2)) #3 internal function: civicrm_invoke("group") #4 /includes/menu.inc(527): call_user_func_array("civicrm_invoke", (Array:1)) #5 /index.php(21): menu_execute_active_handler() #6 {main}

And:

$Fatal Error Details = Array ( [message] => id (value: 1006'A=0) is not of the type Positive [code] => )

Any pointers most gratefully received.

SJ

After putting site into maintenance mode, enabling Debugging and Error handling, it became clear that this was related to the Mailchimp extension. I have disabled the extension and will reconfigure. Manage Groups now fine.
Apologies for wasting anyone's time.


Where should I convert the birth_date string to a Date object? My angular module resolve object:

        resolve: {
      myContact: function(crmApi) {
         return crmApi('Contact', 'getsingle', {
             //id: 'user_contact_id',
             id: 43,
          return: ['first_name', 'last_name', 'middle_name', 'birth_date', 'gender_id']
        });
      }
    }

Which I am trying to bind to

            <input type="date"
          crm-ui-id="tournamentForm.birth_date"
          name="birth_date"
          ng-model="myContact.birth_date"
          placeholder="yyyy-MM-dd"
          min="1930-01-01"
          max="2029-12-31"
          />

Results in this error from angular:

Error: [ngModel:datefmt] Expected `1972-05-11` to be a date

Where should I (what's the best practice for) convert the string to a Date object?

Angular example using the same options with data model binding:

https://docs.civicrm.org/dev/en/latest/framework/ui/#date-picker


Cannot upload image on mosaico template The issue occurs when attempting to upload an image in the template builder. We receive the message "Unexpected upload error (Service unavailable (with message))". It also writes to the Drupal log:

Error: Class 'Imagick' not found in CRM_Mosaico_Utils::processUpload() (line 231 of /home/pillar/public_html/sites/default/files/extensions/uk.co.vedaconsulting.mosaico/CRM/Mosaico/Utils.php).

Anyone knows if there's any fix for this please? Thanks

You need Imagick package for Mosaico to work. If you already have the package installed then i believe its should be related to SE post Failed to locate Mosaico graphics driver


Do volunteers have to be associated with an event? I can see volunteers related to event management, but what about managing volunteers for organization roles like marketing, accounting, etc. ?  Perhaps there is a hack to create a dummy event, but wondering if there is a cleaner approach using the civicrm volunteer module.

We have:

created "Role" as a contact subtype
created a contact record for each role a volunteer can fill.
created a relationship type 'holds role/role is held by'

We then establish  the 'holds role/role is held by' relationship between volunteer and role.

This lets us find all volunteers who hold any or a specific role by filtering on relationship when doing an Advanced Search.

You may still want to use the relationship "volunteer" as described by Squishus Tyrannicus as you may have volunteers who are not assigned to a particular role and you will need to be able to find them.

Working with two relationships can be difficult however, so instead you could create a individual subtype called "Volunteer" or even a "volunteer" tag to help you find all volunteers, even those without roles.


Sparkpost service no longer free - any recommendations? We have just been informed by Sparkpost that their free service which gave us up to 100k/mo emails with a max of 25k/day will be discontinued. We use the CiviDesk Sparkpost extension 1.3 on CiviCRM 5.12.4 under WordPress 5.2.2. The new Sparkpost pricing plans are shown at https://www.sparkpost.com/pricing/us/. We are borderline between the 50K/mo Starter plan (almost all months average ~25k/mo but we have peaks that go slightly over) and the 100K/mo Premier plan. These 2 plans are respectively priced at $30/mo and $75/mo US$. My main question concerns whether the webhooks that the CiviDesk extension uses work without change regardless of which plan chosen. Is anyone else in a similar boat and considering changing their mail service? We've only used Sparkpost from the get-go and would entertain comparably priced services that other CiviCRM sites recommend. Thanks to anyone for any advice.

Two weeks ago I would suggest Mailgun but the plugin supplied for webhook settings seems to be updated to work for new CiviCRM versions.

But if you somehow make it work (and so integrate the service with Civi successfully) the service itself is quite successful for most of the mail providers.

Here comes the last two weeks... Yahoo (and AOL) domains keep rejecting the newsletter I sent because I was sharing an IP with some bad players. People at Mailgun are quite helpful and respond very quickly. They've changed the IP assigned to our account and the mails were accepted, but in another bulk sending, we had the problem all over again.

So I was tired of trying out providers and set up a postfix myself, I'm sending my mails with my own server. It needs maintenance and a bit experience to set it up but I think it was worth the effort. I can compare better in few months when new mailings will be sent.

The ironic part is, Yahoo has a program for bulk mailers and I had to enroll to that in order to have some positive reputation for my server and it was not based on IP address. So maybe I could try to add my domain to the program while I was using Mailgun and it could change something but I was already done a lot in server side, so this worked for me...

Hope it helps...


Why no Member entity in the API v4 Explorer I can't see Member or MembershipType in the API Explorer, nor can I see support for these entities in the API code. As these are pretty crucial I must be missing something - can anyone help?

Appears that API4 is not the default API, we are still on API3. I was misled by the fact that API Explorer V4 links now appear on CIVICRM menu into believing that it was now default, however on my install there is still a

/civicrm/api

path for the API V3 explorer which allows management of a much larger set of entities, including Membership and many more.


civicrm 4.6 invoice documentation? Is there any documentation available on how to generate the invoices with the new functionality introduced in civicrm 4.6. I assume I can generate and email an invoice but am not able to figure out how.

I have enabled TAX & invoicing in the configuration and have read the following articles:
https://civicrm.org/blogs/jamienovick/coming-soon-sales-tax-including-vat-and-invoicing-civicrm
https://civicrm.org/blogs/tonymazz/civicrm-46-will-support-sales-tax-vat-and-invoicing
http://wiki.civicrm.org/confluence/display/CRM/Sales+Taxes+and+Invoicing+-+Phase+1

The 4.6 version of the user guide should be published in the next few days (We are waiting for one more section to be proof read.)

In the meantime here are 3 images containing that information (I can't attach a PDF.)


Version 5.11.0, Event custom fields not carried over to repeat events We use version 5.11.0 and we're still having this issue. Is it possible to see if a solution has been introduced?

I think this is now fixed and should be part of 5.14. You can either wait for 5.14 release or apply patch from here.

Cheers

Pradeep


Remove the login that appears at the bottom of a registration profile I have a profile for a visitor to use that allows them to purchase a membership and at the same time creating a drupal account. All works well, except there is a login block at the bottom of the page that I want to eliminate because it is moot and the user will receive a one-time login from drupal.

Why is the login on the profile page, and how can I get rid of it??

Carl

I suspect it's the Drupal login block - so to not show that on your civicrm pages - get into your blocks configuration and in the visibility settings make it such that it does not display on civicm/* (or make that less generic if you like).


How can I find contacts based on both custom data and address via the API? For the Electoral API extension, I want to write a scheduled job to look up legislative data for everyone who a) has a geocode, and b) doesn't already have legislative data (which is stored in a multi-record custom field).  I need this to be scalable.

So I could look up every contact without legislative data, then check those contacts for geocodes, or vice versa.  Either way, I'm checking a huge number of contacts for data.  Is there a better way?  Maybe using API chaining?

Is it possible to create a smart group that's hidden from the UI that meets these criteria, then use that as the basis for my scheduled job?  That seems like the best option.

I don't know the answer about hidden smart groups but I took a swipe at the API chaining and was able to pull a contact on the demo server that met one criteria on the contact and another on the geocode on the address:

I don't know if that is helpful at all, but if you can get the first portion of this API call working with your custom field, it seems you should be able to chain the geocode to it.

The code for the above comes out like this (PHP):

$result = civicrm_api3('Contact', 'get', array(
'sequential' => 1,
'custom_11' => 1,
'api.Address.get' => "array( 'geo_code_1' => array('IS NOT NULL' => 1), )",
));


How is membership type best set up for monthly direct debit payments? An organization has some members paying their fees annually by cash and therefore need reminders. There are three membership levels - Under 16, Over 65, and others. It's quite straightforward to set CiviCRM's membership types for this.

Other members pay by monthly direct debit, which means they continue to be members until they take action to cancel the direct debit. Bearing in mind they also are categorised by the same three levels - under 16, over 65, others - how should membership type be set up for these members?

Since CiviCRM does not yet allow partial payments/payment plans for annual memberships, you'll have to create a membership type for each level and each payment schedule.

Using your example of levels of memberships, define your membership types as:

Annual membership for over 65 - amount: $1200
Monthly membership for over 65 - amount: $100 (require auto-renew)
Annual membership for under 16 - amount: $60
Monthly membership for under 16 - amount:  $5 (require auto-renew)


using CiviCRM like Access? I am new to CiviCRM. Is it possible for me to use CiviCRM like MS Access?

I really don't need all the fields CiviCRM is offering.

All I need is the fields shown as below:

First Name
Last Name
State
License Number
Expiration Date

How can I ditch all other info and just come up with those 5 fields for Contacts? I also don't want the interface to display anything other than those 5 fields I am going to be entering.

Well, CiviCRM has a high learning curve, so if you think it's overkill for your needs, I'd advise you to consider whether this solution is right for you at this time.

If CiviCRM generally meets your needs and you're just looking for a way to simplify data entry, you might have a look at the Profiles chapter in the user guide.


Track contacts who attended more than 1 event Is there a way to track contacts that have registered for more than 1 event within the past 12 months?
Either through reports or smart groups or any other way?

You can easily GROUP BY and COUNT() in mysql - do you have access to mysql? If not you can also put this in to a CiviCRM custom report.

Here's the query:

So below contact_id 2309 participated in 5 events; contact_id 3186 in 2 etc.

    mysql> SELECT contact_id, COUNT(*) from civicrm_participant GROUP BY contact_id HAVING COUNT(*)>1
+------------+----------+
| contact_id | COUNT(*) |
+------------+----------+
|       2309 |        5 |
|       3186 |        2 |
|       3568 |        2 |
|       5820 |        2 |
|       7007 |        3 |
|       7045 |        3 |
|       7048 |        3 |
|       7083 |        3 |


How does using CiviCRM compare to using NationBuilder? Have you used or tried out NationBuilder.com, a US-based commercial not-free CRM used for political and community advocacy? What does CiviCRM do better, or worse? I prefer Civi but looking for more evidence for comparisons and info about experiences of those who've used both Civi and NationBuilder. Thanks!

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?


Defining Membershipstatus Rules and update issue I've read the documentation about membershipstatus rules and something stays unclear. Even with a contribution, the Pending status stays and is not being updating (see my related post: webform and membership)

Should I set the beginning of "New" at "Member since" or "Start date"?

The journey I defined is:

Any ideas to help?

best regards,
Guillaume

This is solved with this answer: NEVER MODIFY MEMBERSHIPSTATUS RULES! except if your really know what you're doing.


CiviCRM installed, but configuration screen not as described after installing the CiviCRM plugin, I read:"CiviCRM is almost ready. You must configure CiviCRM for it to work."
If I click the link to configure, or do the following:
"Then go to Settings > CiviCRM Installer: http:///wp-admin/options-general.php?page=civicrm-install You should see the CiviCRM Installer screen."

then I see only the left and top menu, with 'Settings>CiviCRM Installer' highlit, and a reminder to update Wordpress, but nothing else.

I'm installing CiviCRM 4.6.16 in Wordpress 4.5

I looked for but didn't find .../civicrm.settings.php .

Dec 2016 - I have now re-installed MySql, PHP & wordpress and again activated CiviCRM, but face the same situation on trying to install CiviCRM: a grey blank center of the screen, with wordpress options on top and left edge.

This LAMP stack is on Ubuntu server 16.0.1.


CiviCRM has not bootstrapped sufficiently to fire event "hook_civicrm_alter_drupal_entities" After upgrading CiviCRM to civicrm-asset-plugin 1.1, civicrm-core 5.29.1, civicrm-drupal-8 5.29.1,  and civicrm-packages 5.29.1 I started getting   "CiviCRM has not bootstrapped sufficiently to fire event "hook_civicrm_alter_drupal_entities"." In trying to diagnose the problem I upgraded civicrm_entity to the newest commit (9f69c64).
I upgraded the code with Composer and everything appeared to work correctly.  The CiviCRM upgrade was done with CV and the upgrade reported to be done successfully.
I appreciate any help in how to approach this.
Thanks,
Josh

This looks like a change in 5.29. See https://github.com/civicrm/civicrm-core/pull/17831. It's signalling that somehow something isn't working with the way either the civicrm_entity module is setting the hook now or something about that change isn't working as expected. I'm not sure which.