Membership/Contribution does not get updated I’ve been using CiviCRM for half a year now and I think it’s great. There is just one thing that does not work quite right: When I add a membership/contribution to a user, both get recorded in the database but they don’t show up immediately. I have to wait a day or so for them to display correctly.
I attached 3 screenshots: When I click on Summary, the „Contributions“ and „Memberships“ registers show that Contributions/Memberships have been added. But as soon as I click on them, they get greyed out and don’t show anything. Interesting enough, if I change other member details (name, address, etc.), the changes are shown immediately.
I already tried clearing Joomla’s and CiviCRM’s caches but no success.

Does anybody know why this is happening?

Thank you very much in advance!

cejavila

PS: I was on 4.7.29 and am now on 5.1.2 (thought the update might help, but nope)

We are having a similar issue, and while this isn't a great answer, the temporary solution has been to install browser add-ons (either in Firefox or Chrome) that clean the cache with one click. On Firefox, I'm using Clear Cache, which also refreshes the page. On Chrome, I'm using Clean Master, and have to manually refresh the page afterwards. Cleaning the Joomla and Civi caches don't seem to make a difference - only the browser cache. Unfortunately, any time we make any changes that we want to see immediately, we have to repeat this process. That includes to discount codes, events, memberships, contributions, etc. It's annoying and hopefully if enough people are also experiencing it and report the problem we can get a permanent resolution.


How do I add extensions in drupal? How do I add not native extensions in Drupal, I was using WordPress where I know how to do it but recently moved over to Drupal.

You can create a folder somewhere outside the main tree, so that when you upgrade core you don't overwrite your extensions, and then in civi under Admin - System Settings - Directories, you put the file path to that folder where it says "Extensions Directory".
If you already have some other extensions installed, they might have gone under sites/default/files/civicrm/ext, in which case you want to move those to your new folder too. You could put everything in sites/default/files/civicrm/ext, but it's easier to manage outside the tree. See also https://docs.civicrm.org/sysadmin/en/latest/customize/extensions/#enabling-extensions


How does CiviCRM rate compared to other CRMs I am writing this question as our organisation is starting to explore alternative CRM’s that are available on the market to replace our current existing one which is ChilliDB. Our use of the CRM would be with regards to the following:

Data storage for over 13,000 stakeholders which will require continuing changes on our end.
Data audits – will CiviCRM allow for some form of data checking to identify user changes if we have administrative access?
Integration with some of our current systems.
Needs to be somewhat customizable with the operations of the organisation.
Needs to be relatively user friendly
Strong support on the developers end to assist with issues
What is the security like? Our data is regulated and confidential. This is an area of concern for us.

Any help to these questions is greatly appreciated.

Cheers guys/girls

I've worked with sites with tens of thousands of records that are constantly being interacted with, changed, etc. So that is no problem.

There is some tracking of changes. What exactly were you looking for?

Whether it can integrate depends on your systems. We'd need more info on what you need to integrate with. Otherwise the answer is maybe.

I've found it to be user friendly, but I've used it for a while. You will likely need a bit of training up front to help you locate everything you need to do. I find that much easier than trying to learn it yourself and much less time consuming as well.

The same thing with customizable. Yes, it is customizable, but it depends on what you want to do. Some customizations may mean a major edit to the software, that an extension needs to be done, etc.

For support, it sounds like what you're talking about is someone you would hire to support the install. There is some support on here, via asking questions and such. But really getting into your site and fixing things, changing things, running updates, etc is going to mean the need to hire someone who knows Civi.

Some of the security relies on you and your server, how often you run updates to the CiviCRM software, etc. There's also user logins that have specific permissions as to what they're allowed to do.


Can Drupal Webform Integration update matching contacts On the CiviCRM profiles you have the ability to set it update matching contact. I don't see this functionality with the Drupal webform CiviCRM Integration module. Is it there and I'm simply missing it? When I log in and fill out the form it simply creates a duplicate contact if that contact already exists. I would like to update the existing contact instead. Is this possible?

I still seem to be having an issue with duplicates being created. The unsupervised rule is set as such:

First name: 6
Last name: 3
Email: 4
Street address (First four characters): 1
The total for a match is 10

I had a contact in CiviCRM 'Janice Anderson' who did not have an associated Drupal account. Janice created a Drupal account and then went to the form and filled out the information on the webfrom and when she submitted the form it created a duplicate CiviCRM contact instead of merging what she was filling out and the existing contact.

I then ran the dedup rule and it found the two (the old one and the newly created one) CiviCRM contacts and stated that the total was 13. So CiviCRM knew they were possible duplicates based on the rule but it still did not merge them at from submission.

This seems to only be happening if the user is currently in CiviCRM and there is not an associated Drupal account for that user. I just tested by creating a CiviCRM user (Jon Doe, jon.doe@mydomain.com). I then created a Drupal account using that same email address and went to the webform and added the same first name, last name, and email address. CiviCRM created a duplicate contact. If I create the Drupal account first then use the webform it creates a CiviCRM contact. If I then go back to the webform while logged in and update information it updates the contact correctly without creating a duplicate.

Is this action to be expected or am I missing a setting somewhere?

By default the Webform-CiviCRM module uses the default "Unsupervised" rule from CiviCRM to determine if an unknown contact is already in your database. If this is not happening for you, check your rule's criteria.

And as of v4.11 you can now specify the matching rule per contact.

You'll find this new option just under the "Contact Fields":

The help text says:

  This determines how an unknown contact will be handled when the
  webform is submitted.

  Select the "Default Unsupervised" rule for the
  same duplicate matching used by CiviCRM event registration &
  contribution forms.
  Select a specific rule to customize how matching
  is performed.
  Or select "- None -" to always create a new contact.

  Note: Matching rules are only used if the contact is not already
  selected via "Existing Contact" field.


How do I eliminate the "civi Dashboard" tab So far, I've used civiCRM to build my database. I'm about to go public on registration for an event and I don't want registrants to see the "civi Dashboard" tab.
I have my civiCRM on Drupal and I was told the secret lies in Drupal configuration but I can't find the right switch to turn it off.

May be turning off 'CiviCRM: access Contact Dashboard' permission for user role should help


CRON Job Error with WordPress with the help of another users i was able to get my CRON jobs to run however I seem to be getting a different error now:

Fatal error: Smarty error: [in string:&lt;meta content=&quot;text/html; charset=UTF-8&quot; http-equiv=&quot;Content-Type&quot; /&gt;
&lt;meta content=&quot;width=device-width; initial-scale=1.0; maximum-scale=1.0;&quot; name=&quot;viewport&quot; /&gt;
&lt;title&gt;&lt;/title&gt;
&lt;style type=&quot;text/css&quot;&gt;div, p, a, li, td { -webkit-text-size-adjust:none; }

*{
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

.ReadMsgBody
{width: 100%; background-color: #ffffff;}
.ExternalClass
{width: 100%; background-color: #ffffff;}
body{width: 100%; height: 100%; background-color: #ffffff; margin:0; padding:0; -webkit-font-smoothing: antialiased;}
html{width: 100%; background-color: #ffffff;}

@font-face {
    font-family: 'proxima_novalight';src: url('http://rocketway.net/themebuilder/template/templates/titan/font/proximanova-light-webfont.eot');src: url('http://rocketway.net/themebuilder/template/templates/titan/font/proximanova-light-webfont.eot?#iefix') format('embedded-ope in /home/promedic/public_html/wp-content/plugins/civicrm/civicrm/packages/Smarty/Smarty.class.php on line 1094
<!-- deferred 0 scripts, deferred 0 styles & minified html in 1 seconds -->

My cron jobs looks like this, and seems to be running ok if i am to believe the run times in the scheduled jobs page

/usr/bin/wp --user=USERNAME --url=https://URL --path=/home/promedic/public_html --timezone="Pacific/Efate" civicrm api job.execute auth=0

I am running Civi 4.6.14 on WordPress 4.7.2

thanks in advance for any help

I have seen this before.  Cron will fail while processing mailings (any type) if a smarty error occurs.  I would review the templates being used.


How to customize Contact Map popup on clicking on icons? I'm trying to remove the street address right now from the Google Map that's created from Search Contact -> Map Contacts when you click on the people icons placed on the map. This is for privacy purposes, but I'm interested in adding some custom contact info there later.

I researched and found the Mapping Providers are at templates/CRM/Contact/Form/Task/Map. When I copied Google.tpl, renamed to GoogleCityOnly.tpl, and edited - it shows up as a selection in the Mapping and Geocoding system menu for Mapping Providers. But when I choose it and search contacts, the "Map Contact" no longer shows up.

What am I missing to have "Map Contact" show up again? Where's the guidance for making an alternate Mapping Provider?

When you select Google as the map provider, I assume the Map Contact shows up.
Ensure that When you select GoogleCityOnly, you also retain the Google Map API Key. The code checks for the presence of both a mapping provider and a mapAPIKey before displaying the Map Contact link
If you want to "modify" the code to avoid the Map API key for now, check: CRM/Contact/Selector.php and search for mapAPIKey


Contribution Note Smarty Variable So I'm super close to getting a smarty variable working to place the contribution note in a thank you letter.

I used the API explorer and got this far:

{crmAPI var='result' entity='Note' action='get' sequential=0 entity_table="civicrm_contribution" entity_id=$contribution.contribution_id}
{foreach from=$result.values item=note}
  {$note.note}
{/foreach}

But this prints a list of all contribution notes in the database, it doesn't filter out by the contribution ID. I know that the variable contribution.contribution_id works in the thank you letter as a standalone variable. I also can use the above code and substitute entity_id=1and that does print the note attached to contribution 1.

How can I put a smarty variable inside the smarty variable api call??

(Wordpress 4.3.2 and Civi 4.6.4)

I might be missing something but, the contribution.contribution_id variable you are referring as a standalone variable I believe is a token, I can't figure out what's the smarty variable for it but you can do this (it works):

{capture assign='id'} // the variable
   {contribution.contribution_id} // here is the Contribution ID token
{/capture}

And then your API call:

{crmAPI var='result' entity='Note' action='get' sequential=0 entity_table="civicrm_contribution" entity_id=$id}

Update: final snippet should look like this, I've just tested it

{capture assign='id'}{contribution.contribution_id}{/capture}
{crmAPI var='result' entity='Note' action='get' entity_table="civicrm_contribution" entity_id=$id}
{foreach from=$result.values item=note}
  {$note.note}
{/foreach}


How to create an standalone GDPR form? I am using GDPR extension, which provide a popup form after online event signup or contribution.

I would like to provide a standalone form for anonymous user with newsletter signup, privacy, and data policy option that would be integrated with GDPR extension, so that I can trace when the contact last accepted GDPR policy.

Is it possible to do? thanks

Can be achieved by GDPR webform https://github.com/tapashdatta/webform_gdpr/tree/5.x


Where is the "Allow Other Amounts?" option? If you see the screen shot, from CiviCRM 4.7.22 on Wordpress, isn't there supposed to be an "Allow Other Amounts?" option to check under the "Recurring Donations" option?   According to these instructions, there is supposed to be.

https://wiki.civicrm.org/confluence/display/CRMDOC/Contribution+Amounts

  Check the Allow Other Amounts? box to allow donors to enter custom amounts for their donation. This will add a field to your contribution page labeled Other Amount. Selecting this option will allow you to set a minimum and maximum amount that can be donated, if desired.

If you look at http://dmaster.demo.civicrm.org/civicrm/admin/contribute/amount?reset=1&action=update&id=1 you will see the field as per the bottom of this screenshot


How can I resolve an issue with [civicrm.files] following an update to 5.29 Just updated my Civi 5.25 install running with Wordpress on a Cloudron LAMP stack to 5.29. Now Civi is generating lots of alerts about unknown extensions - it looks like it can't find my extension files, and in the Civi log I'm seeing lots of warnings stating "[warning] The system has data from both old+new conventions. Please use civicrm.settings.php to set civicrm.files explicitly."
How do I set civicrm.files explicitly in civicrm.settings.php?
I'm guessing these two issues are linked, and that if I can set civicrm.files explicitly then Civi will be able to find my extension files.

The information provided in the docs at https://docs.civicrm.org/sysadmin/en/latest/customize/paths/
explains how to set civicrm.files in the civicrm.settings.php file.


Lack of payment processor blocking renewal reminders We do not (yet) have a Payment processor - Internet bank transfers (which count as offline payments) are more or less the norm in New Zealand.
However, we still need to set up scheduled reminders as memberships expire.
The lack of a payment processor means we can't select anything for Auto-renew options for each membership type, and this in turn is causing the form to create a membership reminder to fail, as there are no valid entries in the third part of the entity selector.
How can we work around this?

Richard

CiviCRM 4.4.4

The issue you're seeing is because you must deselect the "auto renew options" text in the third input box. You can deselect with a Ctrl-click. I just tested on my 4.4.19 demo site and could save OK with that text deselected.


External URL for CIVIMail on localhost installation I have a locally installed civicrm. Sending mass mails works fine, but as images are stored  locally on the server, recipients cannot see the images nor do click-through-URLs work (as they go over localhost).

Is there any possibility to change the image storage folder to another URL outside the standard civicrm structure (e.g. a website)?

Thanks!

This is only a partial answer, but the main challenge will be getting files to save to the remote server. Retrieving them will mainly involve adjustments on Administer > System Settings > Resource URLs.

If you can get a local folder to sync to a remote file host, that might work well.  Long run, a nice feature would be to have an option to save files directly to S3 or something.


Can't extract latest civicrm-4.7.22-drupal.tar.gz to install Trying to upgrade civicrm for drupal to 4.7.22 on a linux machine.  I've tried downloading the file from both the civicrm.org site and sourcefourge.  Get the following error when extracting:

tar -xzf civicrm-4.7.22-drupal.tar.gz

  tar: civicrm/vendor/pear/net_smtp/README.rst: Cannot create symlink to
  `docs/guide.txt': No such file or directory tar: Exiting with failure
  status due to previous errors

I then extracted using 7-zip on a windows 10 machine, hoping to ftp the folder up directly, but not all the folders are there.

The sourceforge extracted civicrm folder is different from the one I downloaded from the civicrm site (using beyond compare).  I'm not confident installing either one.

I tested those two downloads, and found:

The two tar.gz files are identical (MD5=26e2db3c52d105659acc293cc2ffc74c for civicrm-4.7.22-drupal.tar.gz)
Yes, there's an invalid symlink in the file.

That "bad" symlink might offend some tools (and might trigger anti-virus warnings) but it's harmless and should not affect the CiviCRM files you've downloaded. It links a README in one of our packages from that package's docs dir to the package root, and we strip that docs folder out of the code we ship.

I have opened an issue (CRM-20884) & submitted a small fix (PR10676) to resolve that missing symlink in some upcoming release.

Thanks for raising this! You did the right thing to question what you were seeing. FWIW, I recommend downloading from https://civicrm.org/download in favour of SourceForge.


Multiple contact entries created for WordPress users if they login with non-primary email addresses We are running WordPress 4.4.2, CiviCRM 4.6.12, and the CiviCRM WordPress Member Sync and CiviCRM WordPress Profile Sync plugins.

Whenever someone logs in with a WordPress user ID / email that is not their primary CiviCRM contact email, a new CiviCRM contact is created. The WP email may be listed as their "home" / "work" / "billing" / etc. email in CiviCRM but a new contact is still created.

In the newly created CiviCRM contact, the email address is set as "home" and "primary". The next time they login, a new contact is created, again with the email set as "home". We end up with a lot of duplicate contacts!

Is this a plugin issue, or a CiviCRM issue?

It seems similar to the question here: Wordpress duplicates my contacts

The issue outlined in the question and comments doesn't exist in the latest version of CiviCRM.  Penny mentions that the issues results because "When a Wordpress User is deleted, the WP User ID is not deleted from that contact's CiviCRM contact record".

I tested that this is no longer the case by creating a WordPress user, running SELECT * from civicrm_uf_match to find the corresponding entry in that table, then deleting the WordPress user.  When I re-ran the SQL statement, I saw that the civicrm_uf_match entry was gone.


Is it possible to move data from a contact type to a component/extension? I'm still figuring out how to organize our organization's data before importing it into CiviCRM. One question that came up is whether it would be possible (through the UI or through SQL) to move some custom field set data from a contact type to some CiviCRM component or extension, if such a need arises later on.

To be more specific, I'm thinking of creating a custom field set for the Individual contact type. The field set would store data about an individual's qualifications. This is all well and good, but what if later on it starts making more sense to have the data about individuals' qualifications in some CiviCRM component or extension (e.g. CiviHR)? Then I imagine this data would have to be moved from the custom field set to that component/extension.

I know that in CiviCRM all data across components and extensions is integrated. But who knows, it may turn out that it is much more convenient to have the data about people's qualifications in CiviHR (or other) rather than have it as a custom field set. I don't know how things might develop in the future. And that's the point. I would much rather have the ability to juggle around the data and organize it the way I want to. This kind of flexibility seems important to me, especially since I don't think I'd get the data organizing right the first time.

Or if there are some fundamental flaws in my thinking and my question doesn't make sense, please let me know. Thanks in advance!

It's good to be thinking about where the data is stored, but don't let your thinking ahead get in the way of getting started somewhere.  It's not unusual for organizations using CiviCRM heavily to decide they need to remap data somehow, and the fact that the data is in CiviCRM somewhere already makes it one step easier.  The short answer is that you should put your data in the place that makes the most sense right now, and if you have to move it later, it'll take a little bit of work, but nothing overwhelming.

Since you're worried about just some potential future place to store data, I'll have to be a bit abstract, but the principle should hold.

There are two main tasks you'd face if you were to decide that your data in custom fields really belongs in different custom fields or an extension's ad-hoc tables.  The first is moving data, and the second is any transformation that may be necessary.

Using SQL queries, moving data to and from custom fields is relatively easy.  You'll end up doing something like

INSERT INTO civicrm_value_newtable
SELECT NULL as id, entity_id, oldfield AS newfield
FROM civicrm_value_oldtable

to move the data from one custom field to another.  Of course, you could also export to CSV and then import from CSV, mapping the old field's column to the new field.  Since you have the contact ID, you know who a value belongs to.

The more challenging aspect is if you need to transform the data.  Maybe you have three categories, and the new system takes four.  Maybe you have two fields where the new system has one, or vice-versa.

Not knowing what situation you might encounter, the only thing you can do is to pick the most useful and accurate ways to store your data now.  The better your data now reflects reality, the more reliably you can transform it into something else.

When it does come time to transform, you can do SQL functions; and export, alter within CSV, and import; or a series of SQL insert queries, such as

INSERT INTO civicrm_value_newtable
SELECT NULL AS id, entity_id, "option1" AS newfield
FROM civicrm_value_oldtable
WHERE oldfield = "A";

INSERT INTO civicrm_value_newtable
SELECT NULL AS id, entity_id, "option2" AS newfield
FROM civicrm_value_oldtable
WHERE oldfield = "B"
  OR oldfield = "C";

and so on for each new possible value.

In sum, don't let the perfect be the enemy of the good, and don't work so hard to prepare for vague possibilities that it's not functional now.  "If it's a life of possibilities that you wanna live...."


How do you import contributions as Pending (Pay Later)? After reviewing Pay Later status on imported contributions - I followed the answer - created a column listed as Is Pay Later - and added the value 1 to all contributions.  Did it again as Yes - both times all contributions were imported as complete instead of pending pay later.

Drupal 7 - 5.20

Make sure you have 'Pay Later' Column set to 1 and Status column set to 'Pending' for the contribution rows that are pending from pay later. If you don't have status column that its set as Completed by default


form to unsubscribe from a newsletter but from all I wish to propose a form to allow a contact to unsubscribe from a newletter but not from the set to which it subscribes.

currently, the form I created unsubscribed from all newsletters.

It is possible? If yes, how ?

You should be able to do this by directing folk to eg  www.yourdomain.org/civicrm/mailing/subscribe and if you have your Mailing List groups set up correctly (ie as public) then they should be able to unsub.

for folk using Drupal you can also do this via Webform

also review instructions at https://docs.civicrm.org/user/en/latest/email/set-up/


Outgoing links in civimail getting changed to civi site address I setup a mailing in civi and in the email there are links to web pages not on the civi site. When I send the test message the link is changed to the civi site and not the actual link.

example
good link

http://www.google.com

link that shows up

http://civi.mysite.com/

If you set your mailing to track clicks on links, it automatically replaces every link with an auto-generated CiviCRM url - this will redirect to the original link, but has to go through CiviCRM to be tracked.

If you haven't chosen to track clicks, or if the CiviCRM url just goes to your site without redirecting, then there's a problem, but otherwise it's intentional.


Contact membership ID based on a pattern Newbie question.
I'm looking for a way to add a custom field to each contact that will be a unique membership ID but based on a pattern, eg. 2019-### etc.
I'm using Civi with Drupal 7

I also used ContactID to hold membership ID for the same reason that a unique value is allocated by CiviCRM. There doesn't seem to me any standard way to have an autoincrement field in CiviCRM without doing some coding. You also have to think whether the membership ID should be in the membership record rather than the contact record, though because I had some historical data, I decided against this. To get the historical data in I created records for all the membership numbers up to the last one previously used, but tagged all that hadn't been used so that I could delete them all later. I think imported all these records and they were automatically allocated the matching contact id (fortunately I didn't have a membership 1 which was already allocated to the admin account. I then deleted the contacts for the numbers that hadn't been previously used. New contacts were autoincremented from the last one I had used. You might be able to do a trick to get your numbers starting 2019 etc, but that would mean creating a hell of a lot of records and then deleting them, so not sure its a sensible option, but you could try (maybe with just a 19 prefix, so you would be OK for the next 80 years).

I don't think that CiviRules has anything built in that will create an autoincrement field. Indeed I can't see something available off the shelf to set a custom field. I think you would need to write some code.


CiviEvent: possible to trigger an email to event organizer when participant count reaches a certain number? I'd like to be able to notify organizers when a certain number of participants have registered.  I don't want to shut down registration or offer a waiting list to participants, I just need the staff notified via email.

Is there a way to do this out-of-the-box?  Could I do this with the CiviRules component?  If not, other suggestions on hooks/customizations welcome.

Thanks!

System deets:  Joomla 3.8.12, CiviCRM 5.3.1

It can be easily done using hooks. Max participant is stored in civicrm_event table, so you need to fetch the value and then compare it with the count of participants registered in this event. All this check should be done after a participant is created. So, you could use post hook for the same. Sample(not tested) code is shown below -

function example_civicrm_post($op, $objectName, $objectId, &$objectRef) {
  if ($op == 'create' && $objectName == 'Participant') {
    //check the count of participant in the event
    $participantCount = civicrm_api3('Participant', 'getcount', [
      'event_id' => $objectRef->event_id,
    ]);

    //Compare it with the max participant value
    $max = civicrm_api3('Event', 'getvalue', [
      'return' => "max_participants",
      'id' => 1,
    ]);

    //If max equals the count, send an email
    if ($max == $participantCount) {
      //send email to xyz@example.com
    }
  }
}


Upgrading CiviHR to 1.6.8 Does anyone have clear instructions on how to upgrade CiviHR? The ones included on GitHub are for drupal.  I tried to do it manually by copying over the CiviHR folder with 1.6.8 but it just broke CiviCRM altogether.  I don't have access to drush or anything like that, so I can only copy it and then run the updates manually in extensions manager in CiviCRM.

CiviHR isn't a normal extension that you can install on a general purpose CiviCRM installation.  It is intended to be run as a dedicated CiviHR system and is only supported on Drupal.

There is a new site at https://civihr.org/ and wiki at https://civihr.atlassian.net/wiki/display/CIV/Welcome

There is a lot of development activity ongoing and some of the docs are lagging behind.  I think they are still offering free hosting if you join the Early Adopters program and meet certain requirements.


How can I increase the amount an existing monthly sustainer is giving? We're on CiviCRM 4.6.19, Drupal 7.50 and we use Authorize.net for payment processing.

If I simply want to increase the amount an existing monthly sustainer is giving, should I be able to do that by changing the monthly "subscription" amount in Authorize before the next monthly transaction?

Is there a recommended way to do this in CiviCRM itself?

This won't work, because CiviCRM doesn't communicate with Authorize.Net regarding changes to recurring billing.  Only token-based payment processors (e.g. iATS) do.

While I can't answer specifically for Authorize.Net, in PayPal you can change the billing amount by no more than 20% every 6 months without entering new card info.  You do this from the PayPal UI.


Update smart group counts errors with syntax error (AND instead of WHERE in sql) This is a bit of a corner case.  This is reproduced in http://d46.demo.civicrm.org.

Go to Contacts => Manage Groups

Click on Update Smart Group Counts (left side below the Find Groups box)

It will error with a syntax error.  It errors on the smart group LYBUNT.

This smart group was created with Search => Custom Searches => Contributions made in Year X and not Year Y.

I know this is old but it seems if there is a Smart Group that has no contacts it will throw up an error, at least, it does in my instance. I just disabled that Smart Group and the Update link doesn't throw a syntax error any more.


Creating Invoices for Membership Renewals that are coming due How do we go about creating invoices for future contributions? As far as I can tell the workflow only seems to support sending an invoice for current ones.

If you need to create Invoice for future contribution - still you need to create the contribution for future date (Received date) and set the contribution as Pending

This will allow you to create the Invoice and once you have received the amount then you can set the contribution to completed - I guess this helps


Stripe plugin not finding js and css files on contribution page Wordpress and Civicrm hosted on siteground.com

This is the first ever install I've tried of the Stripe payment processor plugin.  (version 6.1.5 on wordpress)

Ensured MJWShared (v0.4.4) was first installed.

When viewing a contribution page with a stripe payment processor attached - the javascript files cannot be found in (404 error in the console.)

The files exist, but when looking at the Stripe Payment Processor extension in the civicrm extension manager the Local Path listed is

/home/customer/www/[myurl.com]/public_html/wp-content/uploads/civicrm/ext/com.drastikbydesign.stripe

and in the console - it is trying to retrieve the js and css files
(civicrm_stripe.js, elements.css) using the path below as a base.

https://[myurl.com]/home/customer/www/[myurl.com]/public_html/wp-content/uploads/civicrm/ext/com.drastikbydesign.stripe

Has anyone come across this before? or have I done something stupid?

After seeing this question Civi 5.9 not serving extension javascript in WP 5

I put an absolute path in the resource URL in Administer > System Settings > Resource URL

and the issue was fixed.


Using event listeners in my extensions I am developing an extension for civicrm 4.7. This extension includes several tokens. One of the tokens I want to include is a token for the activity assignee to be used in scheduled reminders.

In Civi 4.7 the hook system is expanded with Symfony Event Dispatchers and it looks like the token evaluate event will give me the oppurtunity to do exactly what is needed.

However I am confused in how to register an event listener. I have implemented the hook_civicrm_container but my events are never called.

use Symfony\Component\Config\Resource\FileResource;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;

function tokens_civicrm_container(containerBuilder $container) {
   $container->addResource(new FileResource(__FILE__));
   $container->findDefinition('dispatcher')->addMethodCall('addListener',
     array(\Civi\Token\Events::TOKEN_EVALUATE, 'tokens_evaluate_tokens')
   );
}

function tokens_evaluate_tokens(\Civi\Token\Event\TokenValueEvent $e) {
  foreach ($e->getRows() as $row) {
    /** @var TokenRow $row */
    $row->format('text/html');
    $row->tokens('profile', 'viewUrl', 'http://example.com/profile/' . $row->context['contact_id']);
    $row->tokens('profile', 'viewLink', ts("Open Profile", array(
      1 => $row->tokens['profile']['viewUrl'],
    )));
  }
}

What is wrong with my code?

I have found why it was not working. I was looking in the user interface whether my tokens showed up in the list with tokens a user can use. But they did not. After digging all the core code I found out that I had to use a combination of hook_tokens and an event listener for evaluate tokens.

I also had to put a require once statement to my token listener class in top of my module file otherwise it would fail with loading the file.

I also found a bug report indicating that token handling is redone and indicating that not all steps are done. See https://issues.civicrm.org/jira/browse/CRM-16553


Why am I receiving an ' Unable to retrieve card details from iATS. Error: Invalid Username or Password' Error? I'm using the following steps to produce this error:

Under the 'Contributions' tab of a contact on CiviCRM, click 'Recurring Contributions'

Click 'View' under the individual's recurring contribution

Clicking any of the following links (View, Edit, or Process)...

...results in the following error: 'Warning: Unable to retrieve card details from iATS. Error: Invalid Username or Password' (please see screenshot below)

Donations seem to be processing fine on CiviCRM and iATS, and CiviCRM and iATS seem to be communicating fine with each other (other than this error).

Two thoughts:

1) you have an iATS admin agent code 01 (and possibly more: 02, 03) and iATS agent codes 80, 81 and up for payment processing. Is it possible that the payment processor agent code/passwd that this particular contribution is linked to did have a password edit?

2) does your passwd for the agent code linked to that particular recurring series perhaps have any non-alphanumeric characters in it? Those are not recommended as we have seen them work in some cases but fail in others.


Is membership by relationship charged for? I've created an organisation membership and set a cost. I've also made a relationship so employees inherit that relationship. I can't find out anywhere if someone inherits that membership are they also charged?

As far as I'm aware only the organisation is charged but the employees are able to receive the benefits of membership.  The employees don't get charged separately for that membership.

You can find more information about membership in the book:
Defining memberships


Double Phone Number Blocking Our priority is Name Surname and Phone Number while we are creating a New Individual Entry
However when the same info is written, the system doesn't give a warning, which causes to create new accounts with the existed info beforehand.
to solve this problem i have examined this essay below but i haven't got the desired results.
https://civicrm.org/blog/spidersilk/understanding-civicrm-dedupe-rules

What i want is that the system shall not let me to create New Individual Entry if there is this phone number in somebody's profile already.

Could you please launch a "Matching Rule for Individual Contacts" to this.

Joomla! 3.6.5 - CiviCRM 4.7.17

Go to Contacts > Find and Merge Duplicate Contacts > Add Rule for Individuals and create a 'Supervised' rule - eg:

This probably only works for 'primary' phones rather than checking against all phones of a contact, but unless you have multiple phone numbers per contact, it should do what you need.


Adding a Column to Membership Database I would like to add a column to our database membership reports that would indicate the members' county.  At present, there is no column for this data.  Can I add one?  How do I do this?

All you need is to create a custom field against membership

Please follow the below link

https://docs.civicrm.org/user/en/latest/organising-your-data/creating-custom-fields/

I guess this helps !!!


Create an external form to launch a search I wanted to include a custom form on our intranet that would initiate a contact search when submitted, like the quick search does if you enter text and press Enter.
I copied the form but when it came through to the search page a message popped up saying "Because your session timed out, we have reset the search page."

The reason was that my form was missing qfKey. This is a CSRF key generated as part of QuickForm forms.
This key must be generated for the particular form in use. By using XDebug in Vim, I was able to find out that the form name must be CRM_Contact_Controller_Search, and that it expects a sequence number too.
So my form is generated as follows:
<?php
// ...
civicrm_initialize();
$qfKey = htmlspecialchars(CRM_Core_Key::get('CRM_Contact_Controller_Search', 1));
$mySearchForm = <<<HTML

<form action="/civicrm/contact/search/advanced" method="post">
  <div>
    <label>Search name or email
      <input type="text" name="sort_name" accesskey="q" />
    </label>
    <input type="hidden" name="hidden_location" value="1" />
    <input type="hidden" name="hidden_custom" value="1" />
    <input type="hidden" name="qfKey" value="$qfKey"/>
    <input type="hidden" name="_qf_Advanced_refresh" value="Search" />
  </div>
</form>
HTML;

Posting here as it took me ages to figure out!


Best Way to Print Case Activities I've been thinking about different ways to create a report that displays case notes (in other words, case activities). These are the two options I've considered, but with some limitations. How do you, or organizations you work with, tackle this problem?

The options include:

1. CiviReport - Use the "Activity Details" report and set the filter: Include Case Activities to "Yes."

Limitation: Cannot filter case activities by "Case Type." This will be important because one may only want to see case activities by a certain team.
Printing: Generally, "Print Report" is clean. "Print to PDF" may need some CSS work to display case notes that are really long in length.

2. Drupal Views - Create a View with the CiviCRM Activities. Use filter to expose criterias (e.g., Case Type, etc).

Limitation: None other than printing.
Printing: Some clients may have 800+ case notes. Currently, I do not believe there is a way to print multiple pages.

This may or may not meet your requirements, but it's worth noting that there are 2 built-in "print case activities" options currently in CiviCase. You can click the "Print Report" button from the manage case screen, which will print all activities in the main timeline, or you can get finer control from the "Activity Audit" menu which lets you select a timeline and gives you further redaction options before printing.


Action Records for Civi Overarching question - Is there a way to see the actions that a specific user has performed?  For example, is there a way to see what records a user has exported?

Details - We recently had an employee succumb to a phishing attack.  The employee provided a username and password that could be used to access Civi.  While we think that we were able to catch the problem before anything suspicious happened, we would still like to see what this user (or someone pretending to be the user) did while in Civi.  We are specifically concerned about any downloaded information.  We are running Civi 5.24.5 and our website is using Drupal 7.

There is an extension which will record exports using civicrm export from contact search. Unless you have this extension installed there really isn't a way to see if there were specific exports of information.

More information on the extension can be found here


Do we still need "Drupal Users Table Name" setting on CMS Database Integration screen? I've got a CiviCRM 4.7.9 install running in a Drupal multisite. I have a ton of databases, named something like this:

CiviCRM: org_dev_crm
Drupal default site: org_dev_cms
Drupal site 2: org_dev_cms_other
Drupal database for tables shared across sites: org_dev_cms_shared

The users table is shared across instances in the last database, and Drupal settings.php file contains the following line:

$databases['default']['default']['prefix']['users'] = '`org_dev_cms_shared`.';

Since the users table is in an unusual place, I thought I'd have to tell CiviCRM about it by going to Administer > System Settings > CMS Database Integration. On a lark, however, I decided to test if this was necessary. I ran the user-to-contact sync (Administer > Users and Permissions > Synchronize Users to Contacts), and it worked just fine. If there ever was a way to test CiviCRM's ability to access Drupal's user table, I figured this was it.

So, to wrap this up:

What is this setting used for, if not synching?
Do we still need this setting, or has CiviCRM learned how to read Drupal config?

There are scripts in extern/*.php (like extern/ipn.php) which fire up CiviCRM without the CMS bootstrapped. I believe the plan is to replace them with callbacks (like civicrm/payment/ipn/%id) which eliminate instances where CiviCRM is bootstrapped without the CMS. (Some links here, but don't think there's a JIRA issue on it?)

So: Perhaps in the few places where CiviCRM doesn't have Drupal bootstrapped, eg new user create during PayPal IPN on successful event rego? (I made up this case as a potential place CiviCRM might need it, and not be able to deduce from bootstrapped CMS.)


Can I specify the email location to send to? In both CiviMail and when creating an Email activity, I can specify the contact recipient(s), but the recipient email address is always that contact's Primary email address.

Instead, I want to specify "send to Billing email" or "send to Home email". Is that possible out of the box, or is there a suitable workaround?

You can already do this with CiviMail. It can be found behind the wrench icon next to the recipient selection:


Civimail - How to manage Headers, Footers, ... in Message Templates? My CiviCRM manages several organisations, each having their own Header, Footer, ...

I would like to create at least one Message Template for each of them, each Template having its own Header, Footer, ...

How can I do that ?
If I can't, what is the use of Headers, Footers, ... ; how can I choose between different ones ?

The header and footers are used for civimail, the usual way is to have templates that don't contain any header or footer but choose them when you compose the email

Another option you might consider is the new mosaico extension, that should make it easier to style your mailings


Uploading from CSV with first and last name in the came column I am uploading lots of CSV files and using addressee and addressee custom it will skip the first and last name and leave me to do it manually.

edit: while renaming i realized I derped and addressee is something else.

Is there anyway to get first and last names separated from one column

If you are using excel / libre office / google sheets, you might want to use the built in spread sheet functionality to split the name column into two columns

https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=how%20to%20split%20a%20name%20column%20in%20excel

Might be a lot easier and faster to do so locally.


Suspected external REST API not updating Drupal entities We're trying to push a Civi contact's data into an LDAP data store using the Civi Drupal entity module and the Drupal ldap module. That part works fine. If a user updates their contact card using a Civi user profile form, the changes are immediately pushed into ldap.

But when we update the same contact using the Rest API, the changes are not synced into ldap and we dont know why. (The REST API call does successfully update the civi contact card however.) We suspect its because some specific Drupal function is not being called and are wondering if it is a bug. The closest I have been able to find is hook_user_update. Reading the documentation, we believe it isn't called by the Rest API but is called by Civi Profile form. We're not sure about this.

What can we do to ensure that the Civi entity module successfully updates our LDAP store when called using the REST interface?

We believe the bug may be caused by the Drupal hook model which expects to receive Drupal form data which the Civi API is not capable of invoking since, of course, it does not use forms. Shimming the data would have been messy and clunky so in the end we hooked directly into the LDAP module using CiviCRM's edit hooks. Like this:

function ldap_user_civicrm_post($op, $objectName, $objectId, &$objectRef) {
  if ($op=="edit") {
    try {
      $cms_user_id = civicrm_api3('UFMatch', 'getvalue', array(
        'return' => "uf_id",
        'contact_id' => $objectId,
      ));
      if ($cms_user_id) {
        $account = user_load($cms_user_id);

        $ldap_user_conf = ldap_user_conf();

        $bool_result = $ldap_user_conf->synchToLdapEntry($account);
        if ($bool_result) {
          ldap_user_ldap_provision_semaphore('synch', 'set', $account->name);
        }
      }
    } catch (Exception $e) {

    }
  }
}


Dedupe rule to reject record rather than creating new record i understand that you can use the dedupe rule to identify matching record to merge a new record or to create a new record altogether.  Is there a means to reject the new record altogether if a match is not found?  For example, if i use this rule in a profile form submission, it will only allow entries that already has a record in the CIVICRM system due to a match but will reject the entry if no match is found.  Thanks.

I am not aware of anything in CiviCRM core that would allow you to do so. Depending on your use case you could consider setting up forms that can only be used by authentictaed users.


Unable to access clients in CiviCase I am using Wordpress 4.4.2 and recently upgraded Civicrm to 4.7.3

When I try to "manage" a case, that is, access the record itself, I get this message:

Sorry but we are not able to provide this at the moment.
Unable to load configuration file for the referenced case type: 'My Case Type' (learn more...).

That error is almost always related to name vs label mismatches. Check your xml files for the <name> tag and the entries in the database in civicrm_option_value in the "name" column, e.g.

SELECT ov.name, ov.label FROM civicrm_option_value ov INNER JOIN civicrm_option_group og ON og.id = ov.option_group_id WHERE og.name='case_type'


Upgrade from 4.6 to 4.72 DB error - no such field As I was following the process to upgrade to 4.72, I received the following error when updating the DB:

[Error: Upgrade DB to 4.7.beta8]
Error Field Error Value
Type    DB_Error
Code    -19
Message DB Error: no such field
Mode    16
UserInfo    UPDATE civicrm_payment_processor_type SET is_active = 0 WHERE name = 'Google_Checkout' [nativecode=1054 ** Unknown column 'payment_instrument_id' in 'field list']
DebugInfo   UPDATE civicrm_payment_processor_type SET is_active = 0 WHERE name = 'Google_Checkout' [nativecode=1054 ** Unknown column 'payment_instrument_id' in 'field list']

I still very new to Civi and I'm not sure where to begin with this other than rollback to my backup. I've attached a full screenshot as well. Thanks for any help in advance.

Jason

I just did an Upgrade from Civicrm 4.6.11 to 4.7.2 - (plan copy) which went without any error - so please try the below and update the result

Just TEST This First
I guess you had Payment processor enabled in your previous version and which has extra column for the payment processor type

So please try to Roll back to your previous version of CiviCRM 4.6 first

Then try to delete the payment processor or Disable the payment processor and try to Upgrade to Civicrm 4.7.2

Also if possible try to disable all the extension too.


How to pass custom variables to BillingBlock.tpl? I found that the BillingBlock.tpl is included in Main.tpl file and all the variables are assigned to this templates using Main.php file. I can hardcode the variable there but I am worried about if there is another core update. So I am trying to override the Main.php file from my custom extension but it's not happening.

My question is how do I override the Main.php file in civicrm from custom extension ( custom payment processor ) or if there is other method built in civicrm with which I can pass variable to Main.tpl or BillingBlock.tpl.

P.S. I followed the same directory structure as of core.

customextension
├── CRM
   └── Contribute
       └── Form
           └── Contribution
               └── Main.php

To Override Main.tpl file - you can try using Main.extra.tpl which should work

But Please try using - custom File - because if you are overriding the same file in some other extension it might not work sometime

function hook_civicrm_buildForm($formName, &$form) {
$templatePath = realpath(dirname(__FILE__)."/templates");
CRM_Core_Region::instance('billing-block')->add(array(
    'template' => "{$templatePath}/custom/custom.tpl",
));
}

and add your coding in the custom.tpl

Also please note that for billing address all the fields are hard coded in the core also same for validation -

If you need more help please let me know - thanks


IDS causing site to fail for lots of visitors We are getting IDS errors left and right. We would get complaints here and there that our site isn't working and after reviewing our logs, IDS errors everywhere.

Mostly getting the error: There is a validation error with your HTML input. Your activity is a bit suspicious, hence aborting

We also seem to get this warning [warning] Deprecated Path: There is a setting (generate_schema_and_data) not correctly defined. You may see unpredictability due to this. CRM_Core_Setting::setItems
Array
(
    [civi.tag] => deprecated
)

Not sure if they are related - but sharing in case it is.

D7 5.24.3 (but this has existed for some time now.)

The first problem can be avoided by checking 'Skip IDS check' in Drupal permissions. I have this checked for my clients, and it hasn't resulted in any problems.

The second message is 'normal' - I'm getting this message too for my clients.  I guess it's some PHP warning?


Assigning case role to contact in webform- not updating as expected I've been trying to update a case webform so that form contacts are assigned to a given role.

I had expected that by creating roles under relationship types and then including the role in the case type settings in Civi, that the webform case tab would automatically update to offer the new roles for allocation.

It isn't doing this.
Options available in webform

Options allocated in case type

Currently using civi 5.3.1 with webfromcivicrm 4.2.26

Have got this working on another site using civi 5.8.2 and webformcivicrm 4.2.24

Rephrased my search and found this question
What determines the suite of Case Roles presented for assignment on the CIVICRM Webform Case Tab?

1st answer talks about relationship names/labels not matching

Newer version of create relationship only allows user to set relationship label. name is auto generated

In this case "Other Professional is". The relationship was assigned the name "Other_Professional_is"

Editting the relationship name  to "Other Professional is", meant that it showed in the case roles.

Don't know if this level of tinkering will have knock on effects anywhere else.


How to alter the 'Manage Case' display so that it doesn't break with longer activity subjects When working with cases, the subject field of the activities in the case is commonly set by users. When they enter a subject that is longer than about 30 characters, the display of the entire case, when viewed using the "Manage Case' page (/civicrm/contact/view/case?reset=1&id=X&cid=Y&action=view&context=case&selectedChild=case) is broken, in that the table used to list all of the activities extends to the right of the enclosing div, making the whole thing look messy.

Thinking that maybe I could make some CSS edits to set the table-layout: fixed; and use overflow-wrap to wrap the subject text in its cell, I found that this didn't work, I think because the table element has a numerical width attribute coded in, which looks to be different depending on which case I'm looking at.

Why is the table being created with a width value being set by Civi? Wouldn't it make more sense for this table to be a fixed width so that it displays reliably within the broader page structure, and instead force the text in the subject cell to wrap?

How to begin changing this?

I don't know offhand why there's a hardcoded width, but you could try something like

div.crm-case-caseview-form-block table.nestedActivitySelector { width: auto; }

to override the width setting?


Memberships - Receipt (on-line) template: how to check if it is a subscription or a renew I would customize the template Memberships - Receipt (on-line) in order to give a different message if it is a signup or a renewal.
I try a lot of tokens, but no ones works:
$receiptType
$membership_status
$membership_source
$source
$status
$membershipStatus
$form.receipt_text
$formValues.receipt_text_signup
$formValues.receipt_text_renewal
$formValues.receipt_text
$formValues.receipt_text.label
$receipt_text
$receipt_text.label
In the offline template I use $receiptType EQ 'membership signup'.
Have you any suggestions?

I found a solution, not perfect, but it works for me: I use the $mem_status token and check if it is New. In this case I assume that it is a signup else it is a renew


List of count of tag members? Is it a report or anything like that, that could display a list of all tags together with a count of contacts with each tag?

Not a report, but FYI the "Manage Tags" screen actually shows the usage count for each tag when you click on it:


Civicrm - Joomla Backend forms width we have just started to use Civi for our organisation, but now we are expieriencing some strange layout problem in the backend.
All the forms seem to have a fixed width, and i have no idea where to change/fix this. I know, this is a noob question, but without CSS-experience, it is hard to figure out where to fix this.
Any hints, please?
Joomla Version: 3.9.8
Civi-Version:5.28 (Problem ist still persisting since, i cannot remember 5.19??)
Thanks a lot!
Gerald

I found the issue... somebody unchecked the box
Disable CiviCRM css in "ressource urls"... Thanks anyway...


What's the best way to fix this Drush clear cache bug? https://issues.civicrm.org/jira/browse/CRM-20292

Hi gang,

I'd love to fix the above bug for the core. Does anyone know the best way to solve it, or where I should begin to look for anything that may cause it?

Create a Drupal View using custom data from CiviCRM contacts.
Save
Run drush cc all on the command line
Reload the admin page for the View
Observe that the custom fields have gone missing, and are not available in the field list.
Click save on the View.
Observe that the custom fields are now present in the list.

This is observed in an instance where Civi and Drupal share a DB on 4.7.17.

Update 1
The bug appears to be that after drush clear CRM_Core_BAO_Cache::getItem('contact fields', $cacheKeyString); isn't returning custom fields in exportableFields sites/all/modules/civicrm/CRM/Contact/BAO/Contact.php. It does upon clicking "save" in the view, however.

Does anyone know where these are populated from, or have any guidance about where to go from here?

John

I'm going to add an answer (don't want to bury this in the comments) that for a 4.7.17 - with two separate databases - drupal and civicrm; this is NOT an issue;

My view with custom data before and after and in-between:

[karin@louise bin]$ sudo -u apache drush civicrm-upgrade-db
Starting with v4.7.16 -> v4.7.17 upgrade ..

Specifically trying to just drush cc all:

[karin@louise bin]$ sudo -u apache drush cc all

is fine - the way they were on 4.7.16 - with CiviCRM Custom field listed under Fields


Extension Upgrade Failed: Download failed - ZIP file is unavailable or malformed I'm using CiviCRM 5.0.0 and WordPress 4.9.5, I have CiviRules 1.19 and I have notice that Version 1.21 is available. So I click to update but it has error like picture:
Extension Upgrade Failed
Download failed - ZIP file is unavailable or malformed

Please help me how to fix this.

You could do a manual upgrade:

download the zipfile from https://civicrm.org/extensions/civirules
remove the civirules directory from your extension folder on the server
extract the downloaded zip file
upload the org.civicoop.civirules folder to your extension folder on the server
Go to the extension page in civicrm and see whether any database upgrades are reuired.

ps. It is a good habit to make a backup before step 1.


Pass parameter in URL to select Other field on contribution page It's possible to pass an amount to fill in the other field in the URL to a contribution page:

How can I pass in the contribution amount via URL?

But is it possible to pass a parameter in the URL to select other amount?

There doesn't seem to be any way to set other as the default even in the contribution page settings.

You can change the selected donation amount to any other option by passing the id of the option in the URL with the input name, but you can't seem to select the other amount option in the same way, as it is actually a different input element.

Other than the issue of the "Other' radio button not being selected, the answer here should work for Other too: https://civicrm.stackexchange.com/a/12977/96


Stripe extension fails with a new account (civi 4.7.20) I have been using Stripe extension (4.7.1) successfully, on several accounts, for several months (using webform integration).

I have just upgraded civi to 4.7.20 (/Drupal 7.56), and everything still works fine.

But now :

I have just openned a new Stripe account, created a pertaining Payment Processor, Contribution Page, and a webform to manage Contributions (as I previously did for previous accounts).

When I make a contribution using this webform, my payment goes to an
other Stripe account.
When I make a contribution simply using the
Contribution Page
(https://mysite.com/civicrm/contribute/transact?reset=1&id=xx), I get
the following message : "Stripe.js token was not passed! Report this
message to the site administrator."

Any help is welcome.

I have just upgraded Stripe Extension to 4.7.dev, which solved the second issue (stripe.js token not passed).

I close this post and open a new one to be more precise concerning the first issue (payment goes to an other account) : see :
 Webform Contribution Payment is paid to a wrong Account


How to display a Drupal view in a CiviCRM tab I'm trying to display a drupal view in a CiviCRM contact tab. I've tested out my tab function with the code snippet on hook_civicrm_tabs and it will show the contribution tab correctly, and I've tested out my drupal view url on its own with a contact id appended and that displays correctly, but when I try to use my code to display the view in the tab, after I click the tab I get a civicrm error pop up message that says "Network Error
Unable to reach the server. Please refresh this page in your browser and try again."

Here is my code

function mymodule_civicrm_tabs(&$tabs, $contactID) {

$url = '/civicrm-videos/'. $contactID;
$tabs[] = array( 'id'    => 'projectTab',
                 'url'   => $url,
                 'title' => 'Projects',
                 'weight' => 300,
                 'count' => '2' );
}

What am I doing wrong?

Extrapolating on Coleman's answer, you can get the json output required by creating a new Drupal page with hook_menu.  Here is the full code:

function mymodule_menu() {
  $items['civicrm-videos/%user/json'] = array(
    'access callback' => true,
    'page callback' => 'mymodule_output_my_view_json',
    'delivery callback' => 'drupal_json_output',
    'page arguments' => array(1)
  );
  return $items;
}

function mymodule_output_my_view_json($user) {
  civicrm_initialize();
  $content = views_embed_view('my_view', 'page', $user->uid);
  CRM_Core_Page_AJAX::returnJsonResponse($content);
}

function mymodule_civicrm_tabs(&$tabs, $contactID) {

    $url = '/civicrm-videos/'. $contactID . '/json';
    $tabs[] = array( 'id'    => 'projectTab',
                     'url'   => $url,
                     'title' => 'Projects',
                     'weight' => 300,
                     'count' => 2 );
}


How do I scrape an old website into a .CSV file for data migration? I'm organizing my data to prep for CiviCrm.
One of the data banks we have is an online directory listing of hundreds of names, contact information and bios. NONE of this is organized into a spreadsheet.

The information is
1. Hand coded into HTML
2. Landing page has an alphabetical listing of hundreds of names that link to
3. A page in a separate digital directory with a html table with the contact information on one side and the bio on the left.

QUESTION:
How do I automate the scrapping of this information and pushing into a .CSV without having to do this one by one?

Here is an example of the full directory.

I would recommend to use "Open Refine" for preparing your data!

Open Refine (formerly: Google Refine) is an open source tool, running on your own computer, that allows to perform data manipulation as you need for any CiviCRM migration project.

To get a quick idea how it works, you could take a look on these tutorial videos:

https://www.youtube.com/watch?v=yNccGtn3Wb0 (Introduction 1 of 3)

https://www.youtube.com/watch?v=45EnWK-fE9k (Introduction 2 of 3)

https://www.youtube.com/watch?v=5tsyz3ibYzk (Introduction 3 of 3)

The third video will show how to "add column by fetching URL's" - this should deliver what you need!

I have save hundreds of hours using OpenRefine during CiviCRM data migration projects. Of course, you will have a learning curve in using it. But this is one of the rare tools where you will save time already the first time you are using it.


Using Views with two sql servers I am trying to set up Views on my CiviCRM 4.7.10 (Drupal 7.42). My Drupal database is on one SQL server. And my CiviCRM database is on another SQL server.
Whenever I try to create a new view, I encounter the following message:
SQLSTATE[42000]: Syntax error or access violation: 1142 SELECT command denied to user 'xxxxx'@'xxxxxx' for table 'civicrm_contact'
After looking intensively through the documentation, I cannot manage to find the right changes so that Views can connect to the correct SQL server.
I have tried changing the file settings.php, but with no success.
Could someone kindly tell me what to do so that Views connects correctly to the SQL server where the CiviCRM is?
Thanks a lot.

From the manual:
1. If you have different database users for your CiviCRM and Drupal databases, then you need to grant SELECT access for the Drupal user to all the CiviCRM tables.


What's the optimal way to install and track CiviCRM with Drupal and git? First, I know compatibility with Drupal 8 is not full yet. There are still open bugs, a bunch of open PRs and an apparent lack of code review.

But let's ignore that for a moment and consider civi d8-ready. I want to do a test install for a migration from Joomla, but also maintain some level of tracking, so it's easier to work with custom changes and any (knock on wood) malicious ones are easier to detect and revert. Looking at various docs, I've found at least these options:

classical install: drupal, civi
drush: nicely handles downloads, upgrades and backups (no idea if it has VCS support by itself)
composer: seems to be unofficially preferred for drupal8; not that much info available; more dependency heavy
civi-buildkit: seems like a complete overkill, as I don't need a full development environment

All of them can be preceded by initing a blank git repo and manually tracking from there. The buildkit is already fully based on git. Can any of the others track upstream automatically, to avoid the need for manual commits-on-update and working with tarballs? Did I forget an even better option, some combination?

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

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

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

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

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


How to add a new entity in CiviCRM extension As I am new to CiviCRM. I am trying to create a new entity for my extension to add some new data in database schema. The documentation I am following to create a new entity is: https://docs.civicrm.org/dev/en/master/extensions/civix/#generate-entity

What I have done using the documentation till Now:

I have created successfully new extension under the folder <drupalroot>/sites/.../civicrm/ext/
The extension is enabled from the CiviCRM » Administer » System Settings » Extensions
I have used civix generate:entity MyEntity to generate a new entity.
The entity is generated under the ext/myextension/.
This command has created seketal files successfully.
I have edited the xml file to add fields for entity (table).
Now, 1 - 3 points are done.

I have got stucked when following the point 4 - end. The overflow and files and folder structure is defined in these point and how to generate or run the DAO file to run sql to create new table in database schema looks weird to me.  I am using Drupal v7, Civicrm v4.7.2 for drupal 7.x and XAMPP on Windows OS envirnoment. I don't now what I have to do after it to successfully create and use entity in my CiviCRM extension.

Please help me to solve this problem. I am very thankful to you in advance.

Best Regards.

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

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


User registration checkbox in CiviEvent does not create new user and misses thank you screen In CiviCRM I set up an event including registration but when I select the option to allow a user to register for the event and at the same time as a Drupal user, after you continue from the event confirmation page instead of going to the Thank You page it shows the entry page containing just a name/password box and a weird error saying 'Please enter your email'.

I have had my consultant take a look at it and he says "Checked the Drupal permissions - look fine, Checked some email settings - look fine, Turned on Drupal error reporting and completed the form again. Now got the message 'Notice: Undefined index: email-Primary in CRM_Utils_System_Drupal->createUser() '
http://bdva.s803.sureserver.com/admin/reports/event/11578'

We have done a few searches but not found anything on this error and for the time being we have now turned off create Drupal user in all profiles attached to event registration.

What should we do to create Drupal users and show the Thank you pages on Event signups?

CiviCRM lets you have collect more than one address/email/phone for each contact and these are differentiated by the "location type" of each.

Standard location types are "Home", "work", "billing", "main" and "other", but you can add more if you want to.

One of these location types is then set as the default "primary" location type via a yes/no field attached to each location type.  The address/email/phone designated as "primary" is the one that civicrm will use when producing labels or sending emails or SMS to that contact.

You can override the default "primary" designation on a contact by contact basis.  For example you may have the location type "home" set as the default primary location type, but for Martha you choose to set "Other", containing a PO box address, as her primary address location.

This means that when you are creating a profile to extract information (say, a journal mailing list) from CiviCRM you need the ability to output whatever address/email/phone is designated as "primary" for each person, rather than be restricted to just the actual location types of "Home", "work", "billing" etc.

It sounds to me that you may have included the "primary" email "field" in the profile you are using to create the Drupal user.  However, it is not actually a field, but rather a yes/no qualifier for true email location type.  I think that may be why you are getting the error.

You should edit the profile and change the email field designation to be an actual email type ("home", "Work" etc.). I think that will solve your problem.


How do I view a "Scheduled and Sent" mailing without creating a draft? Is there a way to view "Scheduled and Sent" mailings in CiviCRM other than clicking the Re-Use button? This creates a draft of the email which our users sometimes forget to delete, and it's caused some confusion.

If you go to the Report for that Mailing (via Scheduled and Sent Mailings), then there should be a link on that page to HTML Message - view complete message


Unable to see or modify rights in "WordPress Access Control" panel I'am running a 4.7.27 civicrm on wp. Strangely, for some reason i still ignore, unauthenticated visitors can't suddenly access the petition form (civicampaign) what is a quite big problem because i am engaged in such important campaign.

After reading documentation, I tried to change the access rights from the page "WordPress Access Control".

For another unknowned reason, the "WordPress Access Control" form looks empty (screenshot) and can't be modified despite the fact that i am admin.

If somebody can help me...

Found this while having the same problem. The solution is in the CiviCRM utilities Wordpress plugin - go to the plugin settings and there is a box you can tick to "fix the appearance of the WordPress Access Control form". I did that and the Access Controls came back in Civi.


Have CiviCRM follow CMS language with Joomla I currently have CiviCRM 5.25.0 and Joomla 3.9.19.
Joomla is bilingual Fr / En and users can switch from one language to the other no problem.
CiviCRM is set up bilingual with Fr as the default language, but all fields are defined in both languages (Fr_CA & En_US).
I have set the "Inherit CMS language” option to YES.
I set up in Joomla two URL Menus (one in Fr and one in EN) to list a contact group.
In the French site, I see the profiles fields in French, as it should. But when I switch to the English in the frontend, the menus are in English, as expected, but the profile remains in French.
If I switch the CiviCRM default language to En, then the English side is OK (the users see the profile fields in English) but  French users also see the profile in En even though the Menus are nos in Fr.
It thus seems that the profile follows the default CiviCRM language and not the CMS language.
I have tried to force the language by adding “&lcMessages=en_US” at the end of the English Menu URL - as I found in some forums - to no avail. Just in case, I have also tried en_UK.
Any idea on how to force the profile to follow the user’s language preference?
Just in case it is needed, here is the English page: https://www.voile.qc.ca/en/?option=com_civicrm&task=civicrm/profile&Itemid=609&force=1&gid=14&lcMessages=en_US
Thanks in advance for your help!

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


Every time someone hits "Confirm Contribution" their screen just goes blank Here is where it is happening http://bgcweberdavis.org/summerhays-golf-pro-am-scramble-payment/

It was doing it on the other payment forms I have so I disabled them on my site. Why won't it take the transaction?

You can look for detailed error occurrence in civicrm logs, the file location of logs would be different based on the CMS you are using. Secondly you can follow below link to configure your settings file to display errors upon white death screen.
How do I debug CiviCRM when I hit a blank page / white screen / fatal error?


How do I create a custom entity (component)? I'm fairly new to working with Drupal and CiviCRM so I apologize on my lack of knowledge. I was looking into customizing CiviCRM and stripping out a lot of stuff I don't need. Stripping out and hiding things seems fairly easy according to the documentation, but how would I go about creating totally new entities that I can add my own custom fields to? There doesn't seem to be any discussion or examples on this? I'm used to working with Microsoft CRM in the past where you can create your own entities and custom fields and then relate these new entities back to existing ones. I've looked into creating a custom extension via the documentation but this doesn't seem to cover creating a totally new separate entity. Am I missing anything?

*Edit, see this example of Microsoft CRM where you can easily create custom entities to fit your needs. This is the type of functionality I'm looking for. https://www.youtube.com/watch?v=YrwBpRVeMwo. Obviously CiviCRM isn't Microsoft, but I feel that having the ability to create custom entities is highly important to tailoring a fitting solution.

If you are using CiviCRM within Drupal, you can create Drupal Custom Content Types for magazine, advert, etc. Your custom content type definition can include fields of data type "CiviCRM Contact" which can be required, optional, multi-valued, etc.


Can CiviCRM manage sales opportunities? Has anyone successfully used CiviCRM to manage sales opportunities?

I appreciate that this is more of a business feature.  However, charities and non-profits in the UK (and perhaps elsewhere?) increasingly find themselves working in a more businesslike manner.  For this reason some organisations need to be able to record and manage sales opportunities.  Has anyone successfully implemented this for an organisation using CiviCRM?  If so, how would you suggest doing this?

The type of functionality required is as follows:

record a potential piece of work as a sales opportunity
link this to an organisation (and/or individual contact)
attach a financial value to this opportunity (and ideally a probability of success)
have a set of predefined stages for an opportunity - i.e. the sales pipeline (initial contact, qualification, meeting, proposal, close)

It should also generate the following reports:

list of open sales opportunities to follow up
potential income (value of open leads x probability)
overview of sales won and lost (monthly/quarterly/annually)
etc.

I don't have enough rep to comment and this isn't exactly the answer you were looking for, but I also had the same question a few months ago and research led me to the answer No. Instead, we are using Salesforce to manage sales leads (in our case, prospective members). I talked with a few people who have a lot of experience integrating CiviCRM for nonprofit orgs, and based on the small size of our staff they did not believe it would be worthwhile to customize CiviCRM to the extent needed, when an out-of-the-box solution would work just as well. I'm in the U.S. so I don't know much about Salesforce in the UK, but here there is a free version for nonprofits.


How Do You Create Users from Contacts? I am currently using a Drupal 7.35 CiviCRM 4.4.14 build for a new website. I have all of contacts set up, with their relationships and memberships, and all the rules in place so that as it changes in Civi it pushed the changes on Drupal.

What I do not understand however, is how to migrate the 1000 or so contacts in Civi to create their log-ins in Drupal.

Some webpages suggest exporting to CSV and importing from CSV; and I have not even started looking into Drush.... surely there must be an easier way?

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

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

FirstLast
FLast
FirstL

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


Changing the contact dashboard display I need to change the contact dashboard that I display to users so it does not show a [Renew Now] link in the Membership section.

Thanks
Miguel Peirano

Out of curiosity: why would you want to do that?
You can remove it in the css, by adding a little jQuery to a template and then add the template to the Contact Summary, or by changing your specific copy of the Summary template. You can get more information on how to do this on
http://wiki.civicrm.org/confluence/display/CRMDOC/Customize+Built-in+Screens


Can you assign an owner to an event & can that person later run a report to see info about their events (in particular a list of attendees/wait list)? I am evaluating civiCRM for a large homeschool coop. Our members teach study groups for the kids. So when we create an event (study group), we want to be able to assign an event owner (aka study group leader) to the event. Then we would like for that person to be able to pull up a list of study groups they are running and see who is registered for it. Having a hard time testing this out on the demo sites since I can't seem to create a login to test things out with a regular kinda member. Thanks.

EDIT: probably would use Drupal if we decided to use civiCRM, since it seems like we would need to use Webform CiviCRM Integration in order to get something else working the way we need.

We did a similar thing for a religious group who were hiring out their facilities and only wanted the hirer to see the event details/participants for their events. This was all achieved using ACL's and groups without any modifications to CiviCRM or extensions. They were a Drupal user too so I shouldn't imagine you would have any issues getting this functionality configured.


no bounce in bounce mailbox I don't know why I never receive my bounced mails in my bounce mail account, that I have set up at Civimail settings.

I do see it in Cpanel mail tracker that it has bounced and the sender looks like this:

b.48.56.909e941cf2aa78a6@example.com

or

crmbounce+id.23452345@example.com

The documentation says that  "If the mail service for this mail account features VERP-handling you should use that" So how do I find out if my mail account features this? How do I enable VERP and how do I configure mailing to use VERP or not? If there is no VERP than how to handle bounce messages?

My setting looks like this
Name: bounce mail
server: mymail.example.com
username: crmbounce@example.com
password: double checked it, its ok
localpart: crmbounce+11:07 2020. 04. 03.
email domain: example.com
return-path: empty
Protocol: tried both POP3 and IMAP and maildir
Source: emtpy
Use SSL: checked
Used for: Bounce

the first thing you need to test is that if the "+" notation works. Assuming your email is andreas@example.com, try sending to andreas+testing@example.com (from another email)

if you do receive the emails, you're golden and your mailserver isn't braindead (aka "not exchange or 360")

you then simply need to set up your localpart to "crmbounce+" (not sure if it's what you have already)

if you do not receive the email (and/or if the sender receive a bounce email saying that andreas+testing@example.com isn't a valid email), you might find a workaround with a catchall email, but I'd recommend you to take it as a hint that your mail server isn't made for mass mailing and set up a mail provider that is able to send mass emails and that has a working interface with civicrm (amazon ses, mailjet...)

X+


"Failed to locate template" error when building development environment I am new trying to setup my development environment with the build kit tool. I am using XAMPP on Ubuntu 14.04 . I have problems with the civibuild command accessing my XAMPP MySQL via the command line to create the database so I have used the gitify command to set up, but when try to run GenCode.php, I get this error:

  civicrm_domain.version := 4.7.alpha1

  Parsing schema description schema/Schema.xml
      Extracting database information
      Extracting table information
      PHP Fatal error:  Uncaught exception 'Exception' with message 'Failed to locate template for civicrm.config.php' in /opt/lampp/htdocs/civisocialdev/wp-content/plugins/civicrm/civicrm/civicrm/CRM/Core/CodeGen/Config.php:34
      Stack trace:
      #0 /opt/lampp/htdocs/civisocialdev/wp-content/plugins/civicrm/civicrm/civicrm/CRM/Core/CodeGen/Config.php(10): CRM_Core_CodeGen_Config->setupCms()
      #1 /opt/lampp/htdocs/civisocialdev/wp-content/plugins/civicrm/civicrm/civicrm/CRM/Core/CodeGen/Main.php(115): CRM_Core_CodeGen_Config->run()
      #2 /opt/lampp/htdocs/civisocialdev/wp-content/plugins/civicrm/civicrm/civicrm/CRM/Core/CodeGen/Main.php(100): CRM_Core_CodeGen_Main->runAllTasks()
      #3 /opt/lampp/htdocs/civisocialdev/wp-content/plugins/civicrm/civicrm/civicrm/xml/GenCode.php(38): CRM_Core_CodeGen_Main->main()
      #4 {main}
        thrown in /opt/lampp/htdocs/civisocialdev/wp-content/plugins/civicrm/civicrm/civicrm/CRM/Core/CodeGen/Config.php on line 34

What could be the problem?

I'm seeing your path has three civicrms in it - that seems like it's not correct, normally there are two with Wordpress.

Second - if you're using Ubuntu, there's really no need for XAMPP.  You can just install your LAMP stack using apt-get or synaptic.  This is much closer to the standard setup, and you're likely to find better assistance that way!


CiviCRM API and checking if a custom field is empty rather than not null Is there a way to check if a custom field is empty using the API?

The check for 'IS Not Null' appears to work to an extent, but only if a custom field is not part of a set of custom fields, When one of the custom fields get given a value, the others change from Nulls to blanks.

e.g.
custom_1 = Null
custom_2 = Null
custom_3 = Null

set custom_1 = "some_string"
custom_2 = (becomes empty string)
custom_3 = (becomes empty string)

API is null check fails as they are no longer null..

API check for != '' doesn't work
API check for <> '' doesn't work
etc etc

Any thoughts or is this a bug?

The answer depends on how you call the API: is this from php or via the ajax or rest interface?

in php, both null and empty string are seen as a boolean false, so

if (!$custom_42)
   echo "it's either null or empty string"

As for why custom fields behave this way: each custom field belong to a custom group that is stored in a table. if you don't have any of the custom fields in that group, the row isn't created, so all the fields are null, but as soon as you set one of the fields, it creates a row, and the default value of each of the other empty fields depends of their type.

That custom fields that are string become "" instead of null is arguable and it would seem more coherent they stay the same, but as both are seen as false in php (and other languages have the same conversion rules) probably not a big issue.


How to Deal With Email Only Contact Records Does anyone have advice for how to run several mailing lists via Civicrm such that 'email only' contact records don't pollute the various search/reports/etc view?

We've been debating moving our old lists to what is otherwise a great Civi/Drupal combination, but have been hesitant since many thousands of the contact records would be imported with only an email address. Unless I am missing a setting or something obvious, having these records would make things a tad awkward for users when navigating through various contact interfaces.

Is there any way to set a default 'exclude email only' contact records or similar system wide setting?

I'm not sure you'll find the email only contacts will really be noticed with day to day operations.  We have some, granted less then 5%, and I rarely come across them.

Think about the kind of queries your users do with contacts, like using the quick search box in the upper left hand corner and what situations they would likely pull up a bunch of email only contacts.  You have to be searching for a name or email that matches an email only contact's email.  (When it does, I often find a matching contact.  The contact is fully in civi but they gave a different email address when getting on an email list.)

I don't think there is a way to by default exclude them.  However, there are a number of ways you can make it easier to isolate them in queries.

You can create a smart group of everyone else.  (query builder, individual, last name not null).  Then use that group for queries.
You could usurp one of the privacy options if you aren't using it, like "Do not Phone" or "Do not trade" or "Do Not SMS" and exclude that option in advance query.
You could create a new contact type for the email only; though, since it will be a child of individual, there might not be too useful.


Kid gloves and hotspot flagging Is there a good (and simple :) way to have CiviCRM flag up when contacts may need to be handled with care (as a way of forestalling situations where we can never contact them again, ever)?

Obviously the 'No bulk emails' setting stops us from spamming people who want more of a personal touch, but I'm thinking more about situations where someone books on to an event, and they might need a more specific response than just an e-ticket, or we might want to flag up with the event coordinator that they're attending. There might be different reasons for this - e.g. they booked on to an event which was cancelled, and they missed the email about the cancellation, so we need to let them know by phone if there's any changes to events; they have specific access needs and may not be comfortable sharing this with new people; they're connected to funders and we want to impress them; and so on.

We can use tags or custom fields to record issues to be flagged but I'm not sure how to get those flags to appear in a useful way in upcoming activity lists or event participant listings. Or, indeed, how they could be displayed clearly in contact searches. Is there a way to set css classes in reports that relate to tags or custom fields?

ETA: Some of this flagged information may be confidential or sensitive and should only be seen by staff (and not the volunteers who do data entry for us) - but those contacts should not be completely hidden from volunteers.

One option would be to make a special contact sub-type for this purpose.

CiviCRM allows you to use a custom icon per sub-type (just pick one from the internet) which would make the contact appear special in search results, the summary screen, etc.


How to fix Undefined index notice in contribution_date_relative? When I try to Update Smart Group Counts in Manage Groups, the CiviCRM provides me with numerous notices.

What is wrong and where do I fix that?

Notice: Undefined index: contribution_date_relative in CRM_Contact_Form_Search_Custom_ContributionAggregate->where() (line 204 of /crm/sites/all/modules/civicrm/CRM/Contact/Form/Search/Custom/ContributionAggregate.php).
Notice: Undefined index: contribution_date_low in CRM_Contact_Form_Search_Custom_ContributionAggregate->where() (line 205 of /crm/sites/all/modules/civicrm/CRM/Contact/Form/Search/Custom/ContributionAggregate.php).
Notice: Undefined index: contribution_date_high in CRM_Contact_Form_Search_Custom_ContributionAggregate->where() (line 206 of /crm/sites/all/modules/civicrm/CRM/Contact/Form/Search/Custom/ContributionAggregate.php).
Notice: Undefined index: contribution_date_relative in CRM_Contact_Form_Search_Custom_ContributionAggregate->where() (line 204 of /crm/sites/all/modules/civicrm/CRM/Contact/Form/Search/Custom/ContributionAggregate.php).
Notice: Undefined index: contribution_date_low in CRM_Contact_Form_Search_Custom_ContributionAggregate->where() (line 205 of /crm/sites/all/modules/civicrm/CRM/Contact/Form/Search/Custom/ContributionAggregate.php).
Notice: Undefined index: contribution_date_high in CRM_Contact_Form_Search_Custom_ContributionAggregate->where() (line 206 of /crm/sites/all/modules/civicrm/CRM/Contact/Form/Search/Custom/ContributionAggregate.php).
Notice: Undefined index: contribution_date_relative in CRM_Contact_Form_Search_Custom_ContributionAggregate->where() (line 204 of /crm/sites/all/modules/civicrm/CRM/Contact/Form/Search/Custom/ContributionAggregate.php).
Notice: Undefined index: contribution_date_low in CRM_Contact_Form_Search_Custom_ContributionAggregate->where() (line 205 of /crm/sites/all/modules/civicrm/CRM/Contact/Form/Search/Custom/ContributionAggregate.php).
Notice: Undefined index: contribution_date_high in CRM_Contact_Form_Search_Custom_ContributionAggregate->where() (line 206 of /crm/sites/all/modules/civicrm/CRM/Contact/Form/Search/Custom/ContributionAggregate.php).
Notice: Undefined index: contribution_date_relative in CRM_Contact_Form_Search_Custom_ContributionAggregate->where() (line 204 of /crm/sites/all/modules/civicrm/CRM/Contact/Form/Search/Custom/ContributionAggregate.php).
Notice: Undefined index: contribution_date_low in CRM_Contact_Form_Search_Custom_ContributionAggregate->where() (line 205 of /crm/sites/all/modules/civicrm/CRM/Contact/Form/Search/Custom/ContributionAggregate.php).
Notice: Undefined index: contribution_date_high in CRM_Contact_Form_Search_Custom_ContributionAggregate->where() (line 206 of /crm/sites/all/modules/civicrm/CRM/Contact/Form/Search/Custom/ContributionAggregate.php).

Aivars,

Have logged an issue for this in CiviCRM here and submitted a PR for this fix. Can you please test by applying patch from here? If it works for you than please add a comment on PR which will help to get this fix in core and have it available in next release.

Cheers

Pradeep


hey guys, i need some help to add some features to civicrm locally using phpstorm? the question is how to edit something in contact page and how to debug my code.
is there anyway to debug it without install it again to DRUPAL and test my code if its work or not.

start here to start learning about how use to phpstorm and xdebug:
https://docs.civicrm.org/dev/en/latest/tools/phpstorm/


Using Profiles for Data Entry I am using profiles for data entry in my CiviCRM instance. They seem to be working (the contacts that should be created are saving), but I get the following (big ugly) notices at the top of the page on a save:

Notice: Undefined index: contact_sub_type in CRM_Contact_BAO_Contact::formatProfileContactParams() (line 2010 of /var/www/html/sites/all/modules/civicrm/CRM/Contact/BAO/Contact.php).
Warning: in_array() expects parameter 2 to be array, null given in CRM_Contact_BAO_Contact::formatProfileContactParams() (line 2011 of /var/www/html/sites/all/modules/civicrm/CRM/Contact/BAO/Contact.php).
Notice: Undefined index: contact_sub_type in CRM_Contact_BAO_Contact::formatProfileContactParams() (line 2012 of /var/www/html/sites/all/modules/civicrm/CRM/Contact/BAO/Contact.php).

The contact_sub_type_hidden is being submitted when the form is submitted with an appropriate value, so I'm at a bit of a loss as to why these errors are being thrown and what impact they have on what I'm doing. Any pointers appreciated.

In Drupal under Configuration > Development > Logging and Errors ie admin/config/development/logging you can set Errors and warnings to be 'off' and it is normal to do so on the production site, while leaving them showing on the development version.

The reason you don't see this on 'edit' but do on 'create' is, as you say, because Edit uses the overlay, but if you were to right click on the button instead and open in a new tab then I would expect the error is showing.

This doesn't answer your 'how do we fix it' but might explain how to avoid the error showing to users.


Importing contributions with soft credits fails with spurious email error I'm trying to import some contributions. Each contribution has a soft credit field which is an email address. I've set the field mapping to Soft Credit / Email / Solicited. All the rows are failing with Invalid email address(doesn't exist) <email> for Soft Credit. Row was skipped but there are contacts with those email addresses.

This is a bug, covered here on the civibugtracker:

https://issues.civicrm.org/jira/browse/CRM-17163?jql=text%20~%20%22import%20email%20soft%20credit%22


Civivolunteer on mobile I am using Civivolunteer on wordpress. Works good, except on smartphones. The shopping card comes in front of the signup checkbox, so users can't sign up. Anyone having the same problem, or is it because of my wordpress site?

can't scroll right to the checkbox in vertical position

Do you happen to have a screenshot of what it looks like? It sounds like something in your theme or stylesheet is causing this to happen. In my Drupal site, I have styles that are used only on the mobile version of our site so that we could make it even more user-friendly.


Profile Layout in civi on Joomla Need help with Contribution pages profile layout.
It is not related to the template i am using, it is in civi

Profiles come with label on one line then field on line below, I've tried looking in
administrator/components/com_civicrm/civicrm/templates/CRM/profile
Can't figure it out, can anyone help me get the label and field on same line?
Will pay.
Joomla 3.7.4/civicrm 4.7.18

You're looking at the template file - but I think this is best handled in CSS.  See this Stack Overflow question: HTML form with side by side input fields.

If you aren't CSS-savvy, you can hire someone from https://civicrm.org/providers or ask on https://chat.civicrm.org for someone.  Note also that while having a CiviCRM-specific person is nice, this issue isn't one that really requires CiviCRM-specific knowledge.  Any decent front-end web developer (and most web designers) should be able to handle this.

Finally, to ensure your CSS isn't overwritten by an upgrade, put it into civicrm.css and specify the path to it at Administer menu » System Settings » Resource URLs under Custom CSS URL.


How to enter a new contribution? How do I enter a new contribution for a donor in CiviCRM? I cannot find the tab to enter a new contribution for an already existing donor.

You can find the link in the contributions menu for adding new contributions against a contact.

By clicking the link you will be redirected to add contribution page, where you will be able to find the contact from the select contact option.


Multiple Roles in WordPress and CiviCRM access rights By Default WordPress only lets users/admins set a single role per user.  This is done by a dropdown on the user's profile (in WP).

However, additional roles can be added, either by using a plugin or with custom code.  This works fine on the WP side granting the user the capabilities of all roles that they are added to.

The question is how does CiviCRM handle this?   Does it read all roles and give the user the rights of all roles?  I am testing this now, but would like any insights from others that have done this.

What have others done in this case?  I don't want to create a ton of WP roles and even though CiviCRM ACLs are available, the end user won't be able to manage that.

I did testing today on this and from what I can tell, when setting a second user role in WP CiviCRM will read the security settings from both roles.  It is optimistic security in that if one of the user roles has 'administer CiviCRM' and the other does not, the user can administer CiviCRM.