How to evaluate hosted CiviCrm enviroments What are the features I should be looking at when considering a hosted CiviCrm environment?  Are there red flags I should look for from a vendor?  There are a number of vendors out there all claiming to the best/fastest/most supported.  Prices range from $3-$20/mo so how to choose?

Much could be said on this (and probably will be!) but here's a few starters you might want to consider. What is "best" for you depends on which factors are important for you.

If you use a hosting environment that specifically supports CiviCRM then things like MySQL version, MySQL permissions, php version, php memory will be ok.  Otherwise, you need to check they meet CiviCRM's requirements which are fairly demanding.

Some hosters will upgrade Drupal & Civi for you.  On others, you manage your own upgrades.

Some provide Let's Encrypt automated free SSL certificates.

Some provide ssh access.  If so, do they provide drush, wget, git etc? (Does drush, wget or git matter to you?)

Personally I'd opt for a specialist CiviCRM hoster.  Avoid a hoster that doesn't explicitly mention CiviCRM.


Export Price Set Field Labels A customer of mine has a contribution page setup with a price set (different payroll options) and they have specific labels for each amount in the price set.

When I go in to pull a custom report, I don't see an option to pull the field label; is this possible to do?

Is it possible to include these labels in the custom report that we export?

Thank you!!

You should install the extended reports extension and investigate the options available to you in Extended Report - Contributions with Price Set data  or Extended Report - Price Set Line Items


Preventing duplicate entries from online profile form We currently have an online profile form in place where new charity members complete their details - This then creates a new charity group on Civi.

We are having instances where new members are entering their details multiple times, which then creates multiple instances of the same group on Civi.

Is there a away to stop multiple groups being created, such as making Civi / The form check for duplicate entries that are already present on the system.
Such as check if the email address is already in use for example?

Many thanks for your help

You should have an unsupervised dedupe rule setup for individuals. This is used to check if a contact is already in the dB when they complete a form as an anonymous (not logged in) user. The default unsupervised rule is to match email. You can create a new one that looks at other fields. It is important that all the fields used in your unsupervised rule are in the profile used.

Also, you may want to look at the advanced settings in your profile setup. There are options there with what to do with duplicate contacts.

There is some more info about the dedupe rule types here:
https://docs.civicrm.org/user/en/latest/common-workflows/deduping-and-merging/#understanding-dedupe-rules-supervised-unsupervised-and-general

Hope this helps.


External Email from Newsletter Mailing Fails I have set the Outbound mailer to mail(), SMTP seems to really be problematic.

I am successful in the following:
Contacts | New eMail
Administer | Settings - Outbound Mail | Save & Send Test email

All go into the inbox of the intended external email address.

From Joomla, all the email functionality is working as well.

I am unsuccessful in being able to send a newsletter from the Mailings | Draft Unscheduled Mailings area,

I get a generic message, Error in call to Mailing_send_test : sendmail returned error code 1

This only happens if I send it to an outbound email (email addresses within the hosting provider work)

Any ideas would be greatly appreciated.

If you're still interested - what version of Civi are you running? And you have selected PHP mail() as your mailer so it is odd that sendmail is referenced in the error msg.
I can just say that I have Civi 4.7.20 (for WP though I think that isn't relevant). System outbound mail is set to mail().  I only got email to work by adding back check for blank CC/BCC that was in older versions of CRM/Utils/Mail.php
'Save and send test email' works b/c it doesn't go to Utils/Mail it just instantiates its own PEAR Mailer and sends a header with just 'to','from''subject' and 'message'


Fill in custom field of type contact reference field from javascript returns TypeError I have a custom field, which is a contact reference field.

Based on what the user fills in on the form, I would like to fill in the contact reference field with a specific contact. Leaving the user the choice of keeping that contact, or selecting another one.

The html code of the reference field is:

<div class="select2-container crm-form-contact-reference huge crm-ajax-select" id="s2id_custom_21_-1" ...

Let's say that based on some values on the form, I want to fill in the contact with ID 188 in that contact reference field.

I should be able to do this with:

CRM.$("#s2id_custom_21_-1").select2('val', '188')

However, this returns the error "TypeError: row is undefined" in Common.js on line 387.

The error can be reproduced in the CiviCRM demo environment by following these steps:

go to Administer > Customize Data and Screens > Custom Fields
click on "View and Edit Custom Fields" for the set "Food Preferences" (used for Participants, and linked to the Fall Fundraiser Dinner event)
add a custom field of type "contact reference"
then go to Events > Register Event Participant
select "Fall Fundraiser Dinner" in event
then press F12 top open the developer tools of your browser
in the console type:

CRM.$("#s2id_contact_id").select2('val', '188')
this should fill in "Wattson, Laree" in the contact field, which is good
find out the id of the custom field on that form (it should be at the bottom of the screen in the "Food preference" section). In my case it was s2id_custom_13_-1
in the console type:

CRM.$("#s2id_custom_13_-1").select2('val', '188')

==> you shoud see TypeError: row is undefined [Learn More] in the console

Looks like a bug to me. Or am I doing something wrong?

The solution is to use 'data' instead of 'val':

CRM.$("#s2id_custom_13_-1").select2('data', { "id": 188, "text":"NAME OF THE CONTACT"} );


Editing public profile listing view template We are not wanting to have the links on a profile view page to query the data. For instance, an email link should be 'mailto:' and not search function. I viewed the page as see

<!-- .tpl file invoked: CRM/Profile/Page/View.tpl. Call via form.tpl if we have a form in the page. -->

as the template but in the code I do not see how to change. Alternatively, removing all link on the view profile page would also work.

You can simply set a field's Visibility setting to Expose Publicly and it will not use the field as a search function.

From the Visibility field helper text:

  When visibility is 'Expose Publicly and for Listings', users can also
  click the field value when viewing a contact in order to locate other
  contacts with the same value(s) (i.e. other contacts who live in
  Poland).


API csv Import GUI with Formprocessor fails with smarty errors I created a rather complicated form processor which works (through api), but when I tried to clone it (rename it to create so csv api picks it up) and tried to do the csv import.
I get the following error for each row (in the download errors)
Error with entity "create"! (Action Donor info failed. Caused by PHP Error 256 at /var/www/mysite/sites/all/modules/civicrm/packages/Smarty/Smarty.class.php:1100: Smarty error: [in evaluated template line 1]: syntax error: unrecognized tag 'n' (Smarty_Compiler.class.php, line 585))

When I tried it with the same data using just formprocessor API it works, but through CSV API Import GUI it doesn't.
How would I go around debugging this. Or should I even bother? I mean it might be easier script API calls.
I always thought CSV API and Form processor would be a powerful combo.

CSV Import and Form Processor IS a powerful combo!  Check out the advimportformprocessor extension.
Note that this combines the "advimport" extension rather than the CSV API GUI extension with Form Processor.  It's overall better, but some work on advimport's rough edges would improve the UX.
Also note that Form Processor is pretty slow, so imports using this technique should account for that.


How do I add a contact to a group using the API? I looked in the documentation but I can't seem to find a way to add a contact to a group using the API.

Open API Explorer - Support menu > Developer > API Explorer and use GroupContact API to add contacts to group. See an eg in the screenshot below -

API formed for PHP is -

$result = civicrm_api3('GroupContact', 'create', [
  'group_id' => <group_id>,
  'contact_id' => <contact id>,
]);


Default CSS / Standard Directory Set Up I am new to CiviCRM environment.

My company asked me if I could modify the website to not have so much blank space (white space) on the sides.  They want more content on the screen.

Please excuse my terminology.  I am still learning the CRM terminology via Market Research.

Where could I find the CSS to modify this portion?

Is there a standard directory set up for CiviCRM?

Is it best practice to set a new CiviCRM for each project?

Thank you in advance.

Laurie

I'd agree with trying the theme suggestion in the above comment, but if you do want to change css I would use "extras.css". See the hilited box on this page:
https://wiki.civicrm.org/confluence/display/CRMDOC/Resource+URLs

  "You can also define additional CSS styles to be applied to all or
  specific page elements by adding CSS styles to the 'extra CSS' file:
  css/extras.css. This file is included in the downloaded code, but is
  empty by default."

It's difficult to answer the other questions because they're a little too general.


Integration with a swipe card check-in system? Our charity currently operates a manual check in system for users of our facilities. We are considering installing a swipe-card automated system at the gate. Can this be integrated with Civi CRM so we know who has checked in when. No payment is taken at check in.

Not exactly the same but for a similar way of automating check-in take a look at https://civicrm.org/extensions/qr-code-checkin


Civivolunteer Declaration of CRM_Volunteer_Permission Line 221 ClassLoader.php Drupal 7.67
Civicrm 5.15.2
Civivolunteer 4.7.31-2.3.1

I am getting the following message on a number of screens:

Warning: Declaration of CRM_Volunteer_Permission::check($permissions) should be compatible with CRM_Core_Permission::check($permissions, $contactId = NULL) in require_once() (line 221 of /home/mysite/public_html/members/drupal/sites/all/modules/civicrm/CRM/Core/ClassLoader.php).

The biggest issue is the volunteer sign up screen.

Any ideas?

Its a compatibility issue of Civi-Volunteer extension with latest version of CiviCRM. The new version of Civi-Volunteer is still not available but this issue is already fixed in code repository. You can apply patch from here.

Cheers

Pradeep


Stripe.js token was not passed! (using Webform Integration) I am on Drupal 7.51 / Civi 4.7.12 / Stripe Extension 4.7.1

I use a Webform to register a membership, and I have integrated a Contribution Page based upon a Stripe Payment Processor (with "Live Transactions" mode).

I get the following message :
A fatal error was triggered: Stripe.js token was not passed! Report this message to the site administrator.

I see on the Stack Exchange that this already happened in the past, but not clear it was with Webforms.

I also know that not all payment processors are compatible with webforms : is it the case with stripe ?

There is a long thread at https://github.com/drastik/com.drastikbydesign.stripe/issues/76 on this issue.  It was for earlier versions but might give you some clues.   I have a site using Stripe successfully with webforms on Civi 4.6


Moving all contacts from CiviCRM to Kepla my organisation is currently switching from CiviCRM to Kepla. I'm wondering about the best way to export all contacts information out of Civi and import it into Kepla. I have been able to export individual lists of people into an excel document, clean it up, and import them individually, however there are so many contacts left and I'm worried about people falling through the cracks. If there's a way to export all contacts from the database at once, including the notes attached to them, that would be ideal. Thanks!

One way would be to use the quick search or any other search and simply enter "%" as a search criteria. This would bring up all contacts in the database and you could export them afterwards.
If you want to include deleted contacts use the advanced search with the same criteria but tick the box "Search in Trash (deleted contacts)".
In the export dialogue, make sure to select all columns you want, including notes.


Can IATS be used with Simple Donate Extension? - SOLVED ****ISSUE RESOLVED.  SEE COMMENTS BELOW****

We are using Civi 5.1 on WordPress 4.9.7

A month ago, we switched our payment processor to IATS which we really like.
Now we would like to simplify our donation pages with the Simple Donate extension.

Normally we would have what you see in screenshot number 1 .

When I install the IATS extension, that Simple Donate option is removed from the menu and the IATS option replaces it, as you see in screenshot number 2.

The question is, can IATS and Simple Donate be used together? How do I get both options to appear on the menu?

Thank you.

I suggest that if you can copy the SimpleDonate link before it goes from your menu and then assuming you can visit that page then you can probably just add yourself a new link in the menu


Triggers for Summary Fields disappeared One of the user noticed the Summary Fields weren't being updated.  Upon investigation I see that the triggers didn't exist anymore.  My guess is an upgrade to 4.6.26 wiped them out.  Unfortunately, I don't really know when they disappeared other than we had last payment dates of Jan 31.  What's odd is the test environment still has the triggers.  TTest was copied from production and upgraded.   Than about a week later prod was upgraded.

The configuration page for Summary Fields showed the Contribution Table Triggers: Enabled.  Funny since they didn't exist.  I can see that the job for summary fields ran every hour without any errors.

Saving the configuration page and kicking off the job recreated them and seems have updated the fields.

The question here is why didn't the job notice the triggers were missing and why did it report there were enabled?  Oh and I suppose what could have caused them to be deleted?

I had a similar experience when I cleaned out and reverted to a slightly earlier CiviCRM DB because we had made a goof (no need to elaborate on that). When I imported the desired backup, I had neither ANY triggers nor the MySQL routine civicrm_strip_non_numeric. We are running Wordpress 4.7.3 and Civi 4.7.16. I was able to recreate both the routine and the 27 triggers we use for our install by executing one of the functions for a typical site migration, namely:
{$SITE_URL}/wp-admin/admin.php?page=CiviCRM&q=civicrm/menu/rebuild&reset=1&triggerRebuild=1

If you're running Drupal or Joomla, there's a similar invocation. I didn't quite understand how/why it worked, but glad I stumbled across it ;). Evidently, it not only recreates triggers if missing, but adds in the missing routine. Perhaps someone with a little more experience might weigh in. I was just about to pose a question to that effect when I stumbled on your post via a search for "trigger."


More Actions menu missing in Shoreditch I'm finding the More actions link that appears at the righthand end of CiviCRM displays to be missing in Shoreditch. Presumably this is not by design? Some actions appear to only be accessible through that menu.

The latest version from https://github.com/civicrm/org.civicrm.shoreditch/releases (1.0.0-beta.2) has the fix included for the above problem. Pls upgrade.


Newspaper Action DB integration? Has anyone integrated a newspaper action page (e.g., site visitor puts in zip code and page shows local, regional, statewide options for writing a letter to the editor)? If so, where might one get access to a portion of that database for a specific state? Thanks!

We are using CiviCRM with WordPress.

No I haven't done so. But in Drupal this is possible with the views module. CiviCRM has a great integration with the views module and you could create a view which shows all news within the region of the logged in civicrm contact.

What I would do is to create a custom set with all the regions. This could be custom contacts in civi with a relationship, or a custom select list on the contact card and probably with some coding you could set this field automaticly or let the user select in which region he lives. And this select list you also use at your news artivles to link them to regions.


4.7.31 CiviVolunteer Issue After upgrading to 4.7.31 (On wordpress) - I have the following issue pop up - on pages, such as events that have CiviVolunteer fields.

Warning: Declaration of CRM_Volunteer_BAO_Project::copyValues(&$params) should be compatible with CRM_Core_DAO::copyValues(&$params, $serializeArrays = false) in /home5/site/public_html/wp-content/uploads/civicrm/ext/org.civicrm.volunteer/CRM/Volunteer/BAO/Project.php on line 36

Line 36 has the following code:

class CRM_Volunteer_BAO_Project extends CRM_Volunteer_DAO_Project {

not sure what is wrong here. CiviVolunteer 4.7.21-2.2.3

This was reported recently, but I haven't had a moment to get into it. It should be a trivial fix, but you could also resolve this by turning down your PHP error reporting. See this relevant PHP documentation. It is inadvisable to run production sites with display_errors enabled.


Error trying to upload an image in civimail on wordpress We are getting a "Failed to write file" error popup when attempting to upload an image in civimail using KCfinder.  This worked until about a month ago, and I don't what has changed.  The files in the ~/wordpress/wp-content/plugins/files/civicrm/persist/contribute/images folder are visible in KCfinder, and can be inserted into the email.  When I manually copy new image files into that directory, they appear in KCfinder and can be used.  The permissions on the directory are 775, the images have 644, and the file ownership is correct.  So I don't see anything wrong with any of that. Any ideas?  This is on PHP 7.0.28, WP 4.9.5, Civicrm 4.7.30.

Found the answer so I will post it here to help others.  The server /tmp space filled up due to a rogue imagemagick process, so Civimail could not upload new images.  This is a known issue with imagemagick - see for example this post.  Deleting /tmp/magick-* files solved the problem.


Is moving Civi easier than the docs say? I've moved Civi a few times in the past 2/3 years, following the docs esp. the PhpMyAdmin method.  Lately the restore using this method has failed even though I followed the docs - because of foreign key restraints (error 1215) - so I've emptied the target db and done a full backup & restore with no problem. The last move I just made a full backup & restore with no problems - this is at 5.7.3 level. So I guess that improvements have been made & for systems at 5.7 level moving Civi is more straightforward than the docs say.  This is good news of course!  Perhaps it's just the docs that need updating, but I wonder what other users have found?

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


Advanced Search gives different dataset than same search in Reports When I use the Advanced Search or Search Builder to select a dataset the returned contacts are correct. If I do the same search using in CiviReport with the same search criteria one contact is displayed twice. If from the advanced search I create a smart group the group contains the correct number of contacts. If I then use CiviReport and search using the smart group one of the contacts is shown twice.

I have looked at the database to see if I can understand what might be causing this without success. It is possible that it has happened after merging the erroneous contact but I am not certain.

Advanced Search and Search Builder produce a list of Contacts. But a report can pull data other than Contacts and the Group By in the report can be such that you can get a Contact more than once in your output. For example when pulling a Membership or a Contribution Report.

For a Constituent Report if you're seeing the Contacts more than once: hit the checkbox for Contact ID (under Columns) - to confirm these are the same contacts in your CiviCRM database. If the Contact IDs are different - then go and merge them. If Contact IDs are the same then you are likely selecting a column that a contact has more than one bit of data for.


Importing Contacts into multiple groups I am trying to work out how to import contacts into multiple groups.
The list of contacts to import has some contacts listed in multiple groups.
I've been unable to work out how.

EG Fred Smith is in Group 1, 2 and 3.
Joe Smith is in Group 1 and 2
Mary Smith is only in Group 1.

Any advice would be appreciated.

Thanks
Scott

An alternative approach, esp if you have comma separated options for the Groups (ie all groups are in a single cell) would be to make a Custom Field with options that match your Group Names, import like that, then search for each option and via Actions 'add to group'.

Or (as Pradeep suggests in comment below) Custom field of type text and then using Search builder perform Like %Group Name% for each option and via Actions 'add to group'


Engagement Index in civicrm Activities Section Does anyone know the use of the civicrm engagement index?

Thanks in advance

Edward

Per the documentation, it's "to gauge their level of interest or potential to be a highly active member or be easily mobilised for direct actions".

If you use a methodology that involves an engagement ladder, you can decide that signing an online petition is an index of 1, showing up in person to a rally is an index of 2, recruiting others to attend is an index of 3, etc.  Then you can use CiviCRM to find users who have taken an action of a certain level or higher.  This is also potentially useful to fundraisers who use moves management/donor journeys.


Remove ability to add email attachments I want to remove the ability to add attachments. Particularly, it should not be used for CiviMail as it's a great way to hurt email reputation and is simply unnecessary. I would rather load into my CMS media library and then add it into CiviMail via a hyperlink or image. I suppose I could argue that this option shouldn't even exist in CiviMail.

In Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.) there are two options for attachments.

Maximum Attachments

Maximum Attachments For Backend Processes

Does Maximum Attachments mean only for front end forms?

To prevent attachments from being used, I set both to 0. I also tried to set this with an override in civicrm.settings.php but it does not accept a 0, so I tried -1 and that 'save right' but still had no effect.

What are those settings effecting then if not CiviMail? How can I remove attachment functionality? My last resort is removing the option thru a tpl.extra. I would prefer not to do that and fix it at the source.

I don't think either of those settings would help prevent attachments for mailings. The first one the help text says "Maximum number of files (documents, images, etc.) which can be attached to emails or activities. This setting applies to UI forms and limits the number of fields available on the form." Setting it to 0 does remove the attachments field from activities, but the setting's not used I guess for mailings.

The second setting won't help. It's for things like the inbound email processor and is just a sanity/denial-of-service prevention limit.

I think this would need to be a customization.


How do I stop Civicrm front end pages throwing a fatal error? On upgrading joomla to 3.8, access to civicrm front end pages  (eg event listing)results in no response ie white screen.

Currently running Civcrm 5.6.1. The error does not occur if I log in to the front end as su.

On updating to joomla 3.9 it throws a red fatal error:
0 -   @import url(/administrator/components/com_civicrm/civicrm/css/civicrm.css); @import url(/administrator/components/com_civicrm/civicrm/css/crm-i.css); @import url(/administrator/components/com_civicrm/civicrm/bower_components/font-awesome/css/font-awesome.min.css);    Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred. You do not have permission to access this page.

I tried many things, including restoring files from two months ago, and then updating, joomla and civicrm, and then reconnecting to the current database, and also rebuilding from vanilla copies of joomla and civicrm. But this did not solve the problem. The problem disappeared after I edited and saved the 'registered users' access rights in a minor way. The problem was still resolved after I set the access rights back to how they were. What a relief. Tony, many thanks for your reply.


4.7 Install, Database Settings Correct. Still no Contacts I have upgraded from CiviCrm 4.2 to 4.7 now that I finally have it working it will not bring up contacts from the old Civi database. I looked at the setting php file and all the information is correct. What is the best way to troubleshoot this issue. I have checked the database that is was set to use and the information is present. Is there any sort of mapping that the new install needs to do? Please advise and thank you!

Do you have two civi installs looking at the same db? This won't work!

After copying over the files did you go to [yoursite]/civicrm/update.php


Error: Could not create directory I have copied a drupal codebase, drupal database, and civicrm database and moved them to a new server. I am using version 4.7.0 of civicrm. My copied site throws this error:

  Error: Could not create directory: /home/abc. If you have moved an
  existing CiviCRM installation from one location or server to another
  there are several steps you will need to follow. They are detailed on
  this CiviCRM wiki page - (learn more...). A fix for the specific
  problem that caused this error message to be displayed is to set the
  value of the config_backend column in the civicrm_domain table to
  NULL. However we strongly recommend that you review and follow all the
  steps in that document.

This folder does not exist on my server, nor do I want it to. It is a reference to a location on the server from which I made the copy.

I have looked in civicrm_domain, config_backend does not exist
I have emptied all the cache tables in the civi database
I have emptied all the cache tables in the drupal database
I have updated settings.php ('home/abc' is not present anymore)
I have updated civicrm.settings.php ('home/abc' is not present anymore)
I have removed/removed all files from the following:

/sites/default/files/civicrm/templates_c/*
/sites/default/files/civicrm/ConfigAndLog/Config.IDS.ini
/sites/default/files/civicrm/ConfigAndLog/*

When I run grep -R "/home/abc" * from my doc root, no matches are found. When I search for the string "/home/abc", in both databases, I get no matches.

Any ideas? Thanks.

General tip: When I've had problems like this (a mysterious setting/value/datum), one other technique is to search the full database. There's no direct way to do that in MySQL, but you can dump the database to a file (mysqldump) and then search that.
Specific tip: In the Civi database, check table civicrm_setting, e.g. select * from civicrm_setting where value like '%abc%'; Equivalently, in the admin UI, check Administer => System Settings => Directories (or its sibling => Resource URLs).
Background: This may or may not be your problem, but as background/theory.

In v4.1-v4.6, directory+URL settings were stored as a mix of absolute and relative paths (but displayed as if they were always absolute paths). The problem is that absolute paths kinda suck -- they make the database less portable. Ideally, you want all the settings to be stored as relative paths.
In v4.7, the defaults and UI have changed to better encourage relative paths. The key thing is the introduction of path variables like [cms.root]. For example, the default directories in a new v4.7 installation look like http://imgur.com/RbMgyn6
v4.7 is backward-compatible with old settings. If you used an absolute path in v4.6 and upgraded, then it's still an absolute path.
If you cannot edit these things in the UI (because an error blocks it), then you can use SQL or drush cvapi setting.create. For v4.7, I'd suggest simply deleting the offending setting. (Deleted settings will go back to their defaults in 4.7.)


How to correct domain in URLs after a change? I installed CiviCRM 4.4 (LTS) on foo.example.com and then needed to move it to bar.example.com. I have updated the Resource URLs page with the new domain. However certain links, for example the links to "View and edit custom fields" on the custom data page at /civicrm/admin/custom/group still all point to the old domain.

I've tried drush cc all; drush -u 1 civicrm-update-cfg but the links are still the old ones.

Have I missed something? Thanks.

I would double check the civicrm.settings.php file to make sure the paths and URL are updated in there. For example:

define( 'CIVICRM_UF_BASEURL'      , 'http://foo.example.com/' );

While you are in there make sure the server paths look right:

$civicrm_root = '/home/path_to_html/sites/all/modules/civicrm';
define( 'CIVICRM_TEMPLATE_COMPILEDIR', '/home/path_to_html/sites/default/files/civicrm/templates_c/' );


file permission issue -- file attachment in mass mail i have an outbound email that keeps failing with a file permission error.  civi created the file with (600 running as nobody) and the cronjob (running as the account owner) can't access that file.

i think this is new behaviour as the user reports that emails with attachments worked before our latest upgrade (458->468)

anyway can i force civi to create attachments with (666)  ? this allows the cron user to access the file  (which i tested by resending the email -- changing the permission on the attachment manually -- and then scheduling for immediate send)

(and yes i know it's "bad practice" to attach files to bulk emails -- but this is a valid use case.  user is sending audition packets to potential members of one of our performing ensembles.  only 58 recipients.  which BTW is a good reason the hard-limit on direct emails to contacts should be a user-adjustable setting not a hard-coded value in a core file! )

It's seems like a bug to me. I can reproduced it on at least one of my site.
The permission used to be 660 and is now 600 with the new angular CiviMail.

Can you log an issue in JIRA ?

In the mean time, I think it's possible to use legacy UI instead of Angular but can't find how :(

EDIT

In my case, i am able to make it work when running the task manually because it's then run as www-data. But it doesn't work when the process is run by cron.


Warning message on member signup form page On our Contributions page for membership signup:  http://www.essp-ny.org/membership-sign-up.html  there is a warning displayed:  "Warning Some of the profile fields cannot be configured for this page."

Any ideas how resolve this?

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


Where can I see a contributors phone number and email? On the contribution page, there is space for the visitor to enter their phone number and email (we need this information).

When I look at the contributions made, this information is not view-able or there at all. I tried to go into the management page for the contribution page to edit the settings, although there is nothing I can find to help me solve this issue.

If you click on the contact name ie. 'From' on the form shown on your screen shot it will take you to the contact summary page of the contact where you will get to see all the details of the contact stored for it. If you still can't see the details than your user might not have required permission to view contact details


How to use Smart Groups with relative dates? How can I setup a Smart Group to include members based on relative dates (e.g. last Activity)?

When I try to use relative date, e.g. Yesterday in advanced search, it correctly finds users with Activity on previous day, but when I create a Smart Group out of that search, it seems to fix the date in search criteria. As a result the next day smart group now contains members with Activity on the day before yesterday.

Neither running Rebuild Smart Group Cache (no parameters) nor clicking Update Smart Group Counts helped.

Am I missing something obvious?

Wordpress: 4.5.3
CiviCRM: 4.7.9

Tried to create a Smart Group in CiviCRM Sandbox on Drupal and it seems Activity Date gets fixed immediately when trying to create a Smart Group from Advanced Search.

This was a bug in Core CiviCRM which is now fixed starting from version 4.7.14.


Renewal Status & Process we might have got our sequence / settings wrong, I'm not certain.

Currently  ( and likely in teh future ) we collect membership subs manually, with an annual membership.

We set it up such that memberships expire ( 1 Jan ) and when they expire they go into grace instantly for 2 years.

Then we manually collect sub in the spring and then batch load these based.

The membership contributions get recorded, but the status remains 'grace'.

Have we got this wrong? Should the membership be let expire not go to grace? Logically I guess the sequence should be member - end of year it becomes pending payment and only if payment not received it goes to grace?

Alan

It all depends on how your organisation works and how strict the rules are. One could argue that all memberships are renewed at the end of the year and payments are created but with status pending. A member could still benefit altough they did not pay. This means that the membership status should stay active,

One could also argue that as long as someone did not paid the member has no benefit in that case you want an inactive status come into play.

What is really cool about CiviCRM is that it is possible to define those membership status rules yourself. You can do that under Administer --> CiviMember --> Membership status rules.


Batch merge error - wrong data type money? I'm trying to clean up some duplicates using the batch merge tool, and it keeps showing this error:

[Error: Processed 2 pair of duplicates out of 9]
value: null is not of the right field data type: Money

Any ideas?

Here's the full debug:

[Error: Processed 28 pair of duplicates out of 77]
Exception: "value: null is not of the right field data type: Money"

#0 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/BAO/CustomValueTable.php(595): CRM_Core_Error::createAPIError("value: null is not of the right field data type: Money")
#1 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Dedupe/Merger.php(1777): CRM_Core_BAO_CustomValueTable::setValues((Array:10))
#2 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Dedupe/Merger.php(748): CRM_Dedupe_Merger::moveAllBelongings("434", "204616", (Array:21))
#3 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Dedupe/Merger.php(624): CRM_Dedupe_Merger::merge((Array:2), (Array:3), "safe", TRUE, TRUE)
#4 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Contact/Page/DedupeMerge.php(138): CRM_Dedupe_Merger::batchMerge("26", "263", "safe", TRUE, 2, 2)
#5 [internal function](): CRM_Contact_Page_DedupeMerge::callBatchMerge(Object(CRM_Queue_TaskContext), "26", "263", "safe", TRUE, 2, 2)
#6 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Queue/Task.php(88): call_user_func_array((Array:2), (Array:7))
#7 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Queue/Runner.php(214): CRM_Queue_Task->run(Object(CRM_Queue_TaskContext))
#8 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Queue/Page/AJAX.php(52): CRM_Queue_Runner->runNext(TRUE)
#9 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Queue/ErrorPolicy.php(106): CRM_Queue_Page_AJAX::{closure}()
#10 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Queue/Page/AJAX.php(54): CRM_Queue_ErrorPolicy->call(Object(Closure))
#11 [internal function](): CRM_Queue_Page_AJAX::runNext()
#12 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/Invoke.php(278): call_user_func((Array:2))
#13 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/Invoke.php(86): CRM_Core_Invoke::runItem((Array:13))
#14 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/CRM/Core/Invoke.php(54): CRM_Core_Invoke::_invoke((Array:4))
#15 /var/www/vhosts/example.com/httpdocs/sites/all/modules/civicrm/drupal/civicrm.module(454): CRM_Core_Invoke::invoke((Array:4))
#16 [internal function](): civicrm_invoke("queue", "ajax", "runNext")
#17 /var/www/vhosts/example.com/httpdocs/includes/menu.inc(527): call_user_func_array("civicrm_invoke", (Array:3))
#18 /var/www/vhosts/example.com/httpdocs/index.php(21): menu_execute_active_handler()
#19 {main}

Please create a bug report in JIRA referencing this question if it continues to occur when extensions like Summary Fields are disabled.


Minor Problems with CKEditor I have a minor problem with the configuration over the GUI of the CKEditor. In short words: It doesn't work! ;-)

I took a view into this, and it seems, it is a problem on my server with the url rewriting.

The settings GUI tries to load two files:

http:///civicrm/admin/config.js?t=FB99
http:///civicrm/admin/lang/de.js?t=FB99

I'm afraid, this are wrong urls, coming someway from url rewriting.

The maileditor works just fine, and gets the files from their "non rewritten" url:

http:///sites/all/modules/civicrm/bower_components/ckeditor/config.js?t=FACJ
http:///sites/all/modules/civicrm/bower_components/ckeditor/lang/de.js?t=FACJ

No real problem, because I may hack config.js by hand, instead using the GUI, but would be nice to have...

Bye

The CKEditor integration was re-written in CiviCRM 4.7. I recommend upgrading when that version is released, as it may solve your problem. You could verify that now by upgrading a test copy of your site to 4.7.beta.


Any OTHER way to disable DB logging (CiviCRM 4.6x)? Enabled logging to a DB caused "TABLE log_xxx doesn't exists" similar to this issue ; Extension installation (which should re-create LOG_ tables) has failed by the same reason. A sneaky trick from here hasn't worked either, due to a missing MySQL/MariaDB ARCHIVE engine, which by default is being used for LOG_ tables.

Any other options of disable logging, apart from messing with MySQL installation and temporary DB tables re-creation code insertion?

Thank you!

UPDATE in case anyone stumbles on this question.
There is a working answer at  Civi 5.9 - DB Error: no such table / cannot disable logging


When sending mailing incorrect amount of contacts displayed I have a mailing list group called "All Contacts". It has about 450 contacts with valid email addresses that we would like to send email to.

When we go to "New Mailing" and select All Contacts it only sends to 270 contacts.  I am wondering Why it is not sending to all of the contacts?   Only about 7 contacts are opted-out so it should be sending to at least about 350 contacts.

*After further review, it appears as though it is contacts that have been recently imported that are not being added to the Mailing recipients list.  Event though they have been added to the mailing list group.

THanks,

I had a similar problem, probably with version 4.3, and found that a recent import had resulted in contacts with "deceased" set to null, while the query that selected e-mail addresses for a mailing excluded contacts where "deceased" was not false, thus excluding all those newly imported contacts with "deceased" set to null.

I re-imported those contacts, explicitly setting "deceased" as False, and then I was able to send e-mail to them.


Sliding Scale Pricing I am trying to set up a membership option where people can pay what they can with a minimum amount set.  For example $60 rather than the standard $180 for a membership. I would have thought this was possible/easy because you can do that with contributions but I do not see a way to assign a membership to the contribution.
All I need is a text field for people to type in the number just like on contribution price sets.
Is there an extension that does this? Is there an easy way with code? CiviRules (I looked but I do not see a good way to tell what PriceSet field it came from)?
Thanks!

You can't have a text box to choose membership amount but there are two ways as a workaround

Create a price set with required pricefields
a) Select or Radio button with Membership as 0 fees
b) Add text price field with $1 amount.

Make membership type fee as 0 and include contribution amount section on contribution page


CiviMobile server connection problem My CiviCRM install on the WP. And I installed the CiviMobileAPI(v5.0.0).

I succeeded login from iPhone. but I try to use same URL to login from Android, I get error that says "can't connect to the server. Check the CiviCRM site URL or internet connect"

Not sure what else to try here, does any one have any insights? I'm sure I've put in my correct credentials.

Thanks in advance

Go to Resource URL page and click on '?' and see if civicrm.root and cms.root variables are set correctly, if not than you may need to update civicrm.settings.php to fix it.


Multilingual instances show 'no such field' errors after update I'm not sure if this is the forum where you want this issue raised, or whether Mattermost or a bug report is best, but here goes.  Please let me know if I should be raising this elsewhere.

A recurring error after updating a multilingual site is 'no such field' for a number of fields.  It is still occurring after the 5.2.2 update, in particular in the civicrm_uf_group view, where the following fields are missing:

frontend_title
submit_button_text
cancel_button_text

Having got a bit fed up with errors like this occurring every update, it seemed, I have investigated further to discover the following:

It seems that line 375 in CRM/Upgrade/Form.php
should read

CRM_Core_I18n_Schema::rebuildMultilingualSchema($this->locales, $rev, TRUE);
not
CRM_Core_I18n_Schema::rebuildMultilingualSchema($this->locales, $rev);

to tell the function that we are doing an upgrade.

When the schema structure is updated, a file of the form
SchemaStructure_x_y_z.php should be included in CRM/Core/18n, as SchemaStructure.php doesn't appear to be called during the update/upgrade process.  That file should contain the class 18n_SchemaStructure_x_y_z

The upgrade to 5.2.2 is giving 'no such field' errors because the latest schema structure file is Schematructure_4_7_alpha1.php, and so is the latest file to be called by the update process.

Is this a correct analysis, or have I misunderstood something?

In the latest version, you can also rebuild the multilingual schema yourself by navigating to API Explorer http://www.site-name/civicrm/api#explorer

Select Entity = System, Action = rebuildmultilingualschema and click on Execute button.

If you aren't able to access the API explorer UI, try using the cv command from the terminal.

cv api System.rebuildmultilingualschema

Or using drush -

drush cvapi System.rebuildmultilingualschema


Changing CiviCRM events partcipant status After all good things said about civicrm my question is: Is it any possibility to allow participant after an event registration to change status or other information related to that event?
I'm using drupal and civicrm.
Help will be appreciate.
Tanks

Normally it would be a civicrm user/ administrator that would update participant details after an event. (Rather than the participant themselves).

As Pete said you can configure a Drupal Webform to update participation details.

The answers to this question How do I get Retrospective feedback for an event using a Webform (participant Custom Data)?

Shows how someone else has configured a webform, and the webform url (including event id and contact id) for use in a schedued reminder.


Does CiviMail SMTP work with Amazon AWS SES? Would like to use AWS SES as the SMTP service for  CiviMail.  The AWS SMTP is set up and authorized but not working with CiviMail.

Has anyone done this successfully?  Are there any special requirements?

The thread Lobo is referencing is out of date IMO.  I've set up AWS SES with CiviMail multiple times in multiple configurations.  My personal documentation is here.
I've also successfully set up Postfix locally on a VPS as a smarthost to relay to SES - this is nice because then all e-mail from your VPS (e.g. backup notifications, cron failures, etc.) go through SES.  I don't have good docs for that, unfortunately.
Finally - note that my biggest pitfall with SES wasn't SES itself but EC2 - Amazon severely limits outgoing traffic on SMTP ports from EC2 unless you request they manually lift their throttle!
EDIT: A bunch of us discussed our mailing tool at CiviCon today.  Mandrill seemed very popular, for a number of reasons - like subaccounts and the strength of the CiviCRM integration.  I wasn't the only SES person - but there was a strong argument that if you do, you must relay through Postfix.  If Amazon throttles you, CiviCRM won't retry - Postfix will.  You could lose e-mails.  Also you can lose e-mails when exceeding quota.  So it works - but I may try Mandrill next time!
ANOTHER EDIT: Forget Mandrill, SparkPost is the third-party mailer of choice in Civi-world these days now that Mandrill jacked up the prices.


Adding barcode in Event confirmation email We want to add Qr code in event email.

Is there any way we can add QR code in Event registration confirmation email?

I just found this forum post : https://forum.civicrm.org/index.php?topic=23767.0 which seems to propose a solution based on a old version of CiviCRM but the method is still valid in principle :

either using an existing service on the web (https://developers.google.com/chart/infographics/docs/qr_codes?csw=1) or configure your own that generate a QR code image
calling the url from within the src image in your template : <img src="https://chart.googleapis.com/chart?cht=qr&chs=120x120&chl={$participantID}&choe=UTF-8" alt="Ticket ID: {$participantID}">


Is there a way to alternate between different outbound mail servers? I would like to be able to use different mail servers to send different emails, for instance:

all transactional emails (contribution receipt, event registration...) sent by our mail server, all mass mailing sent using mandrill
all the emails sent by media@example.org are pushed through mandrill, but those sent by member@example.org via our own mail server
do A/B testing between two different mail providers to see if mailjet or mailchimps provide better deliverability

I do think it would need some coding, either as extension or to modify civicrm core, but would love to be proven wrong.

Assuming we need to add this feature, would it be useful for you too?

My proposal is using CiviCRM Extension like this one Alternate Mailing Server.

Assumptions:

each alternate server has own setting mailing_backend_alternate[1-9],

first at mailing_backend_alternate1,
second at mailing_backend_alternate2,

in session variable is stored which server will be used,
server is changed by hook_civicrm_alterMailer().


Stripe - Billing section not displaying for events CiviCRM: 5.6.1
Drupal: 7.59
Stripe extension: 5.2

For contributions, stripe integration is working fine but for paid events, billing section do not shows up when amount is selected.

Its resolved, problem was a civicrm custom template file needed to be updated.


"Save contact and add contribution" button in the contact form In the contact form, I need to add a new button "Save and add Contribution" that, when pressed:

save the current contact data
redirect to the "New contribution" page, possibly with the contact already selected

How can obtain this?
Thanks

You can solve this by writing some custom code in an extension. You can use a hook to insert this butoon on the contact form which does what you want to do.


Potential fix to long term issue with IDS errors on Event Confirmation emails through ActivityProcessor A long time ago, I raised an item in the old forum about an issue I was experiencing with Event Confirmation emails sent to the Email Activity Processor being rejected with this message:

Failed Processing: Registration Confirmation - [event name]. Reason: Illegal characters in input (potential scripting attack)

See my original posting here:  https://forum.civicrm.org/index.php?topic=29606.0

I have finally diagnosed and fixed this problem.

The common SocialNetworks.tpl template is used to load a block of HTML to add social network buttons.  This is used on web pages and in email confirmations.  It contains a call to include a Google APIs script and it is this that is causing the IDS attack alert.

My simple resolution is to move this script inclusion from line 27 to line 45 so that it is inside an IF clause that only applies to web pages.

Sorry - this isn't really a question, so let me make it one.  Do you agree with my diagnosis and should I apply a patch?

Despite getting a Tumbleweed award for this, I have submitted a fix

See https://issues.civicrm.org/jira/browse/CRM-17030
and https://github.com/civicrm/civicrm-core/pull/6508


Can't create new mailing. Gets stuck on "Initializing..." I am using civiCRM on Wordpress.
I have configured my SMTP settings correctly as far as I'm aware. The test email sent fine.
But when I got to 'Mailings' > 'New Mailing' it says 'initializing...' and stops there.
Any ideas on how I can create a new mailing?

When I look at 'Draft and Unscheduled Mailings' I see a bunch of unscheduled mailings that haven't worked.

N.B: I commented out this block after following the advice of this thread: http://forum.civicrm.org/index.php/topic,24242.0.html

I am using Bluehost hosting and  mail services. CiviCRM 4.6.2

I have tried everything in this post: http://forum.civicrm.org/index.php/topic,35850

Here's the error I get in the console:

TypeError: CRM.addStrings is not a function        angular.js?r=NBb6p:11655
    at all.js?r=NBb6p:44
    at Object.forEach (angular.js?r=NBb6p:331)
    at httpSuccess (all.js?r=NBb6p:39)
    at angular.js?r=NBb6p:9408
    at processQueue (angular.js?r=NBb6p:13248)
    at angular.js?r=NBb6p:13264
    at Scope.$get.Scope.$eval (angular.js?r=NBb6p:14466)
    at Scope.$get.Scope.$digest (angular.js?r=NBb6p:14282)
    at Scope.$get.Scope.$apply (angular.js?r=NBb6p:14571)
    at done (angular.js?r=NBb6p:9698)

Thanks for your help

Sounds like a basic javascript problem. Wordpress plugins are sometimes to blame. See troubleshooting javascript in CiviCRM.


SSL enabled CiviCRM with forever loading dashlets? We had a CiviCRM installation where the dashlets worked fine...until...we configured Apache to forward all requests over 443 (https).

It seems that now an AJAX callback is failing (going directly to the callback leads to a "Sorry but we are not able to provide this at the moment." error. The error details with debugging turned on state:

$Fatal Error Details = Array ( [callback] => Array ( [0] => CRM_Core_Error [1] => handle ) [code] => 0 [message] => [mode] => 16 [debug_info] => [type] => PEAR_Error [user_info] => [to_string] => [pear_error: message="" code=0 mode=callback callback=CRM_Core_Error::handle prefix="" info=""] )

Which is not terribly helpful for us who are not very familiar with the CiviCRM core.  Any ideas why this issue is occurring and/or what the fix might be?

Thanks!

Check your CiviCRM base URL - the CMS configuration ($base_url in Drupal settings.php), CiviCRM (CIVICRM_UF_BASEURL in civicrm.settings.php) and webserver configuration (canonical location you rewrite to) must all match.

For the dashboard to work, the webserver needs to be able to access the website itself.

If you're hosted at https://www.example.org the CiviCRM dashboard needs to be able to retrieve https://www.example.org/civicrm/report/instance/68 and so forth.

A webserver which can't access itself directly (reverse proxy, SSL, DNS may factor in) will fail loading the dashlets.

Same question, longer answer: The dashboard does not render


Where Can I Alter the Event Additional Participant Wording? What I am trying to do is alter the wording on CiviEvent registration forms. It currently reads:

How many people are you registering? [Drop down list]  (including yourself)

What I am trying to get it to read is:

How many people, including yourself, are you registering? [Drop down list]

Although I have found the line in CRM/Event/Form/Registration/Register.php to amend the bit of text before the drop down list which for me is in line 363; I can not find where the (including yourself) is located. The only reference to the phrase refers to groups partly needing the waitlist.

You could check templates/CRM/Event/Form/Registration/Register.tpl around line no 71.


Attachment URLs incomplete on remote server only I'm working locally on my Mac with the latest version of CiviCRM on latest WordPress, served by MAMP. Using the API, I create an attachment to a contact, and those attachments successfully display after being retrieved through the API. The URL comes back as http://localhost/civicrm?page=CiviCRM&q=civicrm%2Ffile&reset=1&id=15&eid=29&fcs=...

However, when I upload the code and database records to the remote server for testing, the one thing that doesn't work are my attachments. The URLs come back from the API missing a slash: http://remotedomain.comcivicrm?page=CiviCRM&q=civicrm%2Ffile&reset=1&id=15&eid=29&fcs=... Notice the missing slash after the `.com?

I've double checked the configuration in civicrm.settings.php. Both localhost and remotedomain.com have a / in the URL base. I checked the various settings in the admin interface, but nothing looks amiss.

What could be causing this issue?

Can you check

Check if base url in civicrm.settings.php file is set 'http://remotedomain.com/'.
Try setting home and siteurl in wp_options table to 'http://remotedomain.com/' (not needed for normal install).

Cheers

Pradeep


How to create a new report I need to create a new report, an italian postal bulletin for donation or subscription, as in the below image.

Do you have any suggestions on where to start?
I mean:

I must create an extensions?
What's the tool (the best one) to write reports in CiviCRM?
....

Thanks for your attention

Marcello

You can create an extension based on report template using Civix

please refer to the link
https://wiki.civicrm.org/confluence/display/CRMDOC/Create+a+Report-Template+Extension

Also the image which you have attached is not very clear..


Conditions and Action disappeared from Civirules during upgrade I found that the actions weren't happening in Civirules and on investigation I found that all the conditions and actions were no longer there. I'm assuming that this happened during an upgrade where I went from CiviCRM 4.7 to 5.11.0 and also upgraded Civirules 2.1 to 2.5 at the same time. Maybe the problem was that I just installed the new version of Civirules rather than installing the old version on the upgraded site and and then upgrading. Things have obviously changed (for the better).

I couldn't find any release notes for new versions of Civirules. There is a note about having to re-input conditions and actions when upgrading to 2.x but I would interpret as being when you upgrade from 1.x.

Anyway, I've sported this out by re-inputting the conditions and actions and find that some of the things that didn't work for me before now do, so it was worth the hassle. I also upgraded to 2.7 before doing this.

So only real question is where are release notes for Civirules and otherwise it is hopefully useful information for others.

If there are release notes they will be on Gitlab and in the changelog in the extension, but that was a fairly recent improvement.
I have seen the problem you had, that is why the note is there. And AFAIK it applies for any version earlier than 2.2


Ignore Word Replacement on certain pages? Is there any way to ignore word replacement for a particular page or event a particular label?

The replacement we're using applies to 99% of places so we'd like to keep using it.

There are probably several ways to do it with an extension.

As an alternative, my guess is the following would be the simplest:

Do the regular word replacement
Change the word back per individual page, with jquery via an .extra.tpl:
https://civicrm.org/blogs/dave-greenberg/now-its-easier-add-custom-behaviors-templates


How can I set a custom field based on membership in a smart group? I want to generate membership cards based on a person's geographical region.  The region logic is fairly complex (e.g. "Anyone in NY, plus New Jersey north of Trenton and Connecticut west of Stamford").  I have smart groups that accurately place someone by region.

Before we used smart groups, we manually added folks to static groups based on region. An extension called civicrm_post on the GroupContact to set the custom field.  However, civicrm_post isn't called on smart groups.

Does anyone have any ideas?  I don't mind using SQL in a cron job, but I'm not sure that civicrm_group_contact_cache is reliably filled with the correct data - in older versions of Civi at least, I often found it empty.

This is Civi 4.6.10, Wordpress.

In your own cron job you could reload the cache for groups by calling civicrm_api3_job_group_rebuild() (https://github.com/civicrm/civicrm-core/blob/master/api/v3/Job.php#L629), then cycle through the group to fill your custom field.


Register Multiple People for Multiple Paid Events With Webform I am trying to create a CiviCRM Webform where the user can select multiple events to come to for multiple people in the same form.  I have it working great that the user fills out the information and clicks the events that they want to attend and their guests.

Each event costs $10.  I am trying to add up all of the events selected on the Webform and then have the user checkout with the correct price. For example someone may select 5 total events to attend so they should be charged $50.

Is this something that can be done with Webform without custom development?

Thanks,
Steve

Yes you can do this with webform civicrm; check out the screenshots I posted in response to a similar question by Naomi - not too long ago.


Which local download version of CiviCRM is most like the Spark and what aspects of Spark can be customized? Is there is a download version CiviCRM that is close to the Spark version. I would like to download it first locally and get comfortable with it then try Spark.

Also I think that the Admin functionality is available for tweaking some stuff but I also think there is a limited number of extensions available at this point. For instance can I add new or rename variables and menu items?

How about creating web page forms for embedding in a website such as a WordPress or Drupal CMS? I know it uses Drupal but still learning about running CiviCRM stand alone and then integrating with a CMS. I personally believe Drupal integration would best long term but might need to integrate with an Existing WordPress site for now. That is if the Spark version even allows integration with a CMS.

Thanks,
  Carl

Spark is identical to the version of CiviCRM you would download, except that a) you can't install new extensions (it comes with iATS, PayPal, Shoreditch and Mosaico if I recall).  You're also limited in the number of contacts you can have.

Note that a "local" copy is a bit misleading in that you need to run a webserver to use CiviCRM.  While you could theoretically do this locally, it's requires tech chops - and if you have the capability to set up a local server, you probably don't need Spark.

Spark supports embedding basic web page forms in a separate CMS - but those forms are quite basic and can't take payments.  Payment forms will exist in the Spark install.  When discussing "CMS Integration" with CiviCRM, you're generally discussing options that are only available when installing CiviCRM within the CMS you're integrating with.


Civicrm and wordpress user registration after admin approval so the scenario is that i am using civi profiles for civicrm contact and wordpress user creation by enabling "WordPress user account registration option?" in profile's advance setting.

I am also using 2 other plugins to control access of wordpress users which are "Ultimate Member" and "User Role Editor". ultimate member plugin has a option by which when a user register it needs admin approval. i have selected that option but its not doing what it has to do. when ever a user register i automatically approves it.

It looks like you would need to create a custom plugin which would play role to interconnect the two features, ultimate member plugin account verification method and automatic wordpress user creation through profile.

In that custom plugin, you would need to use 'hook_civicrm_post' hook which will get called every time a DB write is done, make sure to put an if condition right after the hook function definition to make plugin run only when account gets created and in that if condition make call to the function that performs account verification process in 'Ultimate Member' plugins, more detail on how to call a function of wordpress plugin from another wordpress plugin can be found here.

Hope this solution will help you.


How can I get more details about a Scheduled Jobs failure? I have discovered that I have had the "Disable expired relationships" job producing the following error.  Triggering the job manually yields the same result.

How can I find out more information about what is tripping up the system so that I can rectify the problem?

This is a Drupal implementation.

  2015-07-12 16:20:46    Disable expired relationships
  0
  Summary
  Finished execution of Disable expired relationships with result: Failure, Error message: Relationship is not valid
  Details

  Parameters parsed (and passed to API method):
  a:1:{s:7:"version";i:3;}

  Full message:
  Finished execution of Disable expired relationships with result: Failure, Error message: Relationship is not valid

EDIT:
While I had hoped that jumping into error logs would yield more information, the output of the following SQL statement was helpful to jump in and fix some errant data:

SELECT
  RELATIONSHIP.id as relationship_id,
  RELATIONSHIP.contact_id_a,
  RELATIONSHIP.contact_id_b,
  RELATIONSHIP.relationship_type_id,
  CONTACT1.contact_type AS contact_type_a,
  RELTYPE.contact_type_a as expected_type_a,
  CONTACT1.contact_sub_type as contact_subtype_a,
  RELTYPE.contact_sub_type_a as expected_sub_type_a,
  CONTACT2.contact_type AS contact_type_b,
  RELTYPE.contact_type_b as expected_type_b,
  CONTACT2.contact_sub_type as contact_subtype_b,
  RELTYPE.contact_sub_type_b as expected_sub_type_b
FROM civicrm_relationship AS RELATIONSHIP
LEFT JOIN civicrm_contact AS CONTACT1
  ON RELATIONSHIP.contact_id_A = CONTACT1.id
LEFT JOIN civicrm_contact AS CONTACT2
  ON RELATIONSHIP.contact_id_B = CONTACT2.id
LEFT JOIN civicrm_relationship_type as RELTYPE
  ON RELATIONSHIP.relationship_type_id = RELTYPE.id

I took the export of this into Excel and used the AND function to compare what contact types/subtypes were expected for each contact and what was really sitting in there. When I fixed the data, the cron job ran successfully.

I would recommend looking in two other places:

The CiviCRM error log. This is to be found (for Drupal) in sites/default/files/civicrm/ConfigAndLog/CiviCRM.(long number).log
The PHP error logs. This is different for each server / Control Panel so I'm afraid I can't give more specific directions than that.

Make sure you find the place in the logs which matches the time that you triggered the job, to save you trawling through many lines of text. I would suggest you trigger the job one more time, take note of when you did it, and then look up what happened in those two places at that time.


Custom Fields are not showing when trying to import a CSV I have created some custom fields. I am trying to import contacts with values for those fields. But the fields are not showing up during the step 2 "matching civicrm field"  though other custom fields that I have created shows up, this one particular doesn't show up. I have allowed multiple records for this one custom field set alone. Is that because of this?

On further testing, when I disallowed multiple records for this set, it shows up in the matching options. Is this a bug?

Multi-value custom fields need to be imported separately using https://yoursite/civicrm/import/custom?reset=1

To find that link, go to the normal contact import screen Contacts > Import Contacts, click the help icon at the end of the helptext, then follow the link at the end of the pop-up help.


How remove fields from default price set I have a membership signup/renewal page that also allows for additional contributions using the standard fee table (no price sets).  Since upgrading to 4.7.23 the online membership page is showing previously deleted options from the additional contribution fee table.  How can I remove these (my understanding is they are stored in a default price set)?

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

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

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

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


How do I find the number of our association's members at the end of each calendar year? I'm using Reports, Membership Reports, Membership Summary.  In the filter section it seems to require "Member

The CiviCRM Membership records themselves don't provide a complete or reliable history of memberships, which is why reports based on them (i.e. the Membership reports) aren't useful to you for this purpose.

They do contain a "join" date separately from the "start" date which could be used to make a reasonable guess about membership totals in the past, but this isn't reliable (e.g. if a membership is deleted, or if this field is not used as expected.)

The churn extension, as well as the membership dashboard, make use of the CiviCRM Activity records to calculate when a new membership is created or renewed or expires (because each of those leave behind an activity record). This is probably the best tool for what you want, though it can be misleading as well (especially if you've imported your membership records into CiviCRM from a different sytem).

I haven't seen any off-the-shelf Civi Reports that make use of these records.

My general advice to anyone who wants to have historical comparisons of membership data is to download the membership data at defined intervals.


How to use Event Calendar Extension with CiviEvents? Does anyone use the Event Calendar extension? I am using Civi 4.7.29 on Wordpress 4.9.4

Today i installed the Event Calendar extension and WP FullCalendar for the first time.  It shows that the install was successful and enabled.  However the instructions for this extension say "A "Show Events Calendar" link appears under Events. The settings link is the same as the Show Events Calendar link but with "eventcalendarsettings" instead of "showevents"."

I am looking and I do not see these links anywhere in my menus or manage Events page.  Does anyone know where it is?  I am not seeing how to get my events to display on Fullcalendar.

Follow the instructions here
https://github.com/osseed/com.osseed.eventcalendar/blob/master/README.txt

The latest release is here https://github.com/osseed/com.osseed.eventcalendar/releases/tag/2.0

It will not create the menu items automatically like it is supposed to, so you can create them yourself with the below instructions.

Go to Administrator -> Customized Data and screen -> Navigation Menu -> Add New Item .
Set the title "Calendar Settings" and the URL civicrm/eventCalendarsettings Make the Parent Events.
Click save.

Go to Administrator -> Customized Data and screen -> Navigation Menu -> Add New Item .
Set the title "Show Calendar" and the url civicrm/showevents.  Make the parent Events.
Click Save.
Now the items are in the civi menu under events.


Joomla Report Result - Blank Screen I've created multiple custom reports. On several of them, the results are a blank, white screen; no results and no errors. Any idea what might be causing this? I checked my site logs, but there are no errors (that I can find). Other than that, I don't know where to start.

Blank pages indicate that PHP has exited ("fatal error" etc), but that debug output is disabled. Your next step is either to enable display of debug in the page output, OR to obtain the debug from the backend.

Please refer to this answer which explains how to debug when you run into a blank page:

Joomla Backend (Admin), CIVI White Page after installation

Can you be specific about which site logs you've checked? It may be there are some other logfiles you need to look at (see linked answer).


how to remove blank rows in constituent summary report? Civi 5.15.1, Wordpress 5.2.3

When I run a Constituent Summary report having selected the default columns (none) and default filter (deceased=No), I get a page and a half of squished, blank rows at the beginning. Some filters remove them, other filters don't. Not sure what other info may be relevant. Does anyone know the cause and solution, or could advise how to troubleshoot? I'd prefer not to have to figure out a workaround using the Search functionality. Thanks!

Selecting the Contact ID and Date Modified columns unsquished the rows, so I was able to delete the offending Contact IDs from civicrm_contact using phpMyAdmin, without triggering any FK violations. The report now looks normal, though I'd still be curious to know how 85 null contacts got added (all at once). Has anyone come across this before?


Why does selecting one (or more) tag options in a form created using webform-civicrm add *all* tag options to the user record? We are on CiviCRM 4.6.19.0 and Drupal 7.50.

I've created a webform using the excellent webform-civicrm. The form is a draft of a data entry/update form for use by staff and volunteers.

I've added tags as a field for contact 2 (the new person whose info is being added, or updated by searching for an Existing Contact) that gets added by contact 1 (the logged-in staff person or volunteer).

I have checkboxes next to each of the 27 tags options, with the multiple selection option checked in settings ("Multiple values will let users select multiple items in this list.").

However, on the webform, when I select the checkbox for any one, or more, of the tags options, and then submit the form, the contact 2 record in CiviCRM shows all 27 of the tags as having been added to the record.

I added the tag options manually using key-value pairs in the Options settings. In CiviCRM, I removed the parent ID for the issue tags at Administer -> Customize Data and Screens -> Tags (Categories) . Removing the parent ID for the tag did not make a difference.

Any thoughts appreciated. I do not want to add 27 separate Tags lines in the webform settings for each of the tags. The multiple values option for the single tags field should do the trick.

Thanks!

So here's my answer, and solution. I started again from scratch. The steps I followed are:

deleted the Tags and Groups components from the webform
disabled Tags and Groups in the CiviCRM tab for Contact 2
re-enabled Tags and Groups in the CiviCRM tab for Contact 2
added Tags and Groups components back to the webform.

Then, under the Tags component settings in the webform, I selected:

Static Options (Fully configurable)
Checked "Multiple (Check this option if the user should be allowed to choose multiple values.)"
Unchecked Enabled checkbox at top of Options, the default, un-enabling all Tags as options
Enabled only the handful of Tags I want on the form
Clicked Save Component at the bottom

I then tested selecting Tags on the form, submitted the form, and only the three tags selected appear in the contact's record.


Civimail reuse link returns to CiviCRM home page CiviCRM 4.6.0 and Joomla

I'm trying to reuse a send mailing but when I click on the link it does not create a copy but returns to the CiviCRM home page. I have tried with several different malings.

This is a known bug, fixed in 4.6.1+: https://issues.civicrm.org/jira/browse/CRM-16238


Contribution Page has stopped working I have a contribution page that has stopped working for me.  Actually from the end user perspective the contribution page work perfectly.  The correct forms are displayed, and they can complete the contribution, which is one of several free memberships.

The issue is that none of the input on the contribution page are being saved in the backend.  Nothing at all is recorded in contributions or memberships.  It is like the transaction never happened.

It took us a bit to realize that there was an issue, and the extent of the issue.  The last successful use of the contribution page was April 8th.  Something obviously changed after that to cause the issue, but I can't figure out what.  There wasn't an upgrade that caused the issue, either to CiviCRM or Joomla or the hosting account (that I am aware of).

Anyone ever have issues with a contribution page doing this?  Any ideas at all what I can do to resolve this?

Thanks for any help and ideas.

CiviCRM 4.7.6
Joomla 3.5.1
PHP 5.5.31

Maybe you have published the test-drive link to the contribution page rather than the live link.


Form not displaying on front page of twenty seventeen I'm having problems getting the form we set up for contributions to show up on the front page (using the twenty seventeen wp template) -- have resorted to using a the 'page links to' plugin, but it's just a temp fix.  These were the instructions my hubs sent me, which don't seem to work.  THANKS!

Go to Contributions > Manage Contribution Pages > click Links next to your membership sign-up/renewal page > click Live Page. Copy the URL and insert it into an HTML link or menu.

Or click the Wordpress shortcode icon to insert a form into any page or post.

For the TwentySeventeen theme to add content to the Home page we have a few options:

Set the static front page option in Customizer to a page
We can then have a widgetized front page controlled by the Theme Options in the Customizer

I tested this and  I can add the Page with the CiviCRM shortcode and set it to be the front page.  https://civi47.tadpole.cc/ shows an example of this.

However, if you are trying to set this as the second piece of content via the Theme Options - that does not work for me as well.  I suspect this is due to the way the theme is implementing its home page.


How do I modify a core CiviCRM file (to change a search order)? Looks like one of core CiviCRM files (namely part of mySQL query at CRM/Contact/BAO/Query.php) has to be changed in order to achieve "Search results sort by Last Name". What would be the best (I mean, most proper) way in CiviCRM to do this?

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


access denied on member signup with civicrm for anonymous My question has to do with Civicrm member signup page. I am getting an error for anonymous users that they are not allowed access to the page.
I am using Drupal 7 and CiviCRM 5.3. I am relatively new to Drupal. The site is located on a domain that is being used simply for testing purposes.
I have researched this already and have not received much in the way of finding anyone with a similar issue. Other then seeing posts about user 0. I checked and user 0 is there and seems fine.
As part of trying to resolve the issue I also setup a mock event. Same thing happens on that also. An anonymous user can see the event but as soon as the registration page is clicked it gives the access denied message.
I have also checked the permissions and roles and anonymous is allowed to access the pages. In other words sign up for events and make contributions is checked.
Here is the page for the membersignup. https://hebrewburialofnewhaven.org/civicrm/contribute/transact?reset=1&id=1
Event info page https://hebrewburialofnewhaven.org/civicrm/event/info?reset=1&id=1
Event registration page https://hebrewburialofnewhaven.org/civicrm/participant/add?reset=1&action=add&context=standalone&eid=1
This is the actual site https://hebrewburialofnewhaven.org/#
Please keep in mind this is only a development site and not a production site. We are testing using Drupal with Civi. Because wordpress has really become very resource intensive and seems to have a lot of issues running civi cleanly.

I thank everyone for any help or guidance on this. It is probably something stupid I am missing or didn’t configure.

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

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

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


Randomize display of results from a Proxmity Search We are using civiCRM 4.7.25 with Joomla 3.8.1

We have a proximity search to allow people to find nearby members of an national association.

The proximity search returns matching members alphabetically....

But we want the members to have "equal" opportunity to appear towards the top of the results list -- so we'd like to have the results of the proximity search return results randomly, instead of alphabetically.

Is there a way to do this?

Take a look at https://github.com/civicrm/civicrm-core/blob/master/CRM/Contact/Form/Search/Custom/RandomSegment.php

It's a little tricky because if there's multiple pages of results you don't want the second page to repeat anything on the first, so it creates the full random-ordered list first and draws from that.

If you don't really care, or know there's only one page, you could override addSortOffset() in CRM/Contact/Form/Search/Custom/Proximity.php to do something similar to what the Base does in CRM/Contact/Form/Search/Custom/Base.php, and instead of "ORDER BY $sort", make it say "ORDER BY RAND()", e.g.

public function addSortOffset(&$sql, $offset, $rowcount, $sort) {
    $sql .= " ORDER BY RAND() ";

    if ($rowcount > 0 && $offset >= 0) {
      $offset = CRM_Utils_Type::escape($offset, 'Int');
      $rowcount = CRM_Utils_Type::escape($rowcount, 'Int');

      $sql .= " LIMIT $offset, $rowcount ";
    }
  }


When will Drupal 8 be officially supported? As I understand it, the Drupal 8 version of CiviCRM is available but still in bug fixing and feature adding mode.
Is there news on when it will be officially on the civicrm.org website?

I've recently been reviewing the code, testing against Drupal 8.2.5, and developing and submitting Pull Requests to the D8 module. I've been roughly estimating the time that would be required to get it working good enough to install on a client's site.

The core module has all the CiviCRM admin pages and menus working, albeit with some JavaScript errors occasionally. The install process could use a little work, and the profile integration on the user view and edit pages needs an overhaul.

I think this all could be fixed up and QA with 40-120 hrs work to achieve a reasonable Minimum Viable Product(MVP) to release as an alpha version. That's a purposefully broad estimate, there's bound to be a few things to fix that remain unknown.

That being said, one organization with a decent budget that wants CiviCRM in D8 could have it, and make it happen for the rest of the community at the same time, there's definitely plenty that does work.

You can see the current installation procedure if you want to try it out in a related article:
Does CiviCRM work with Drupal 8 and how can I help?


How do I write unit tests for time based actions? If I have an delayed action in my code then how on Earth can I unit test this?

For example a membership transition?

Totten, who is a complete legend, shared this pearl with me:

  there are some examples like:
  tests/phpunit/Civi/CCase/SequenceListenerTest.php:    \CRM_Utils_Time::setTime('2013-11-30 01:00:00');
  however, these are the exception rather than the rule. there are lots of places where someone called time() or strtotime() without reading CRM_Utils_Time to find the baseline.


How do I hide or re-size the Event Calendar in a CiviCRM Dashboard? I'm using CiviCRM 5.25 and Drupal 7.

I've created two Views in Drupal and added them as Dashlets to my CiviCRM Dashboard.

After adding those, I now see an Event Calendar at the bottom of my Dashboard - which I did not add or enable.

If I remove the two added Dashlets, the Event Calendar goes away.

The Event Calendar is the entire screen width, and more, and it makes the two Dashboard columns much narrower and forced to the left of the Dashboard, leaving a large amount of whitespace on the right. Screenshot below.

So - how do I disable the Event Calendar from appearing on my Dashboard, and/or re-size it to not create undesired whitespace on the right? I have looked in the docs and elsewhere here and don't find any explanation of how this could happen, or how to change it.

Thanks!

Before:

After:

OK, so I had installed the Event Calendar extension from osseed, but had not installed the required JQuery Update module for Drupal. When I did that, and re-enabled the Event Calendar extension, now Event Calendar does not appear at the bottom of my CiviCRM Dashboard when adding a Dashlet based on a Drupal View.

I still have the whitespace problem when adding a Dashlet based on a Drupal View, but I think that may be a setting to adjust in the Display settings for that View.


How to display location of many events on one map I want to display a map showing many events location.
I use Civicrm with Drupal 7.
I think that it's possible to get events location in Views, but I don't know how to do this.

Regards.

You can get Event location fields in to a View (assuming this is an Event based view) but you then need a mapping solution and whereas in the past I would have recommended Open Layers there has been some disruption to that as a solution with the loss of access to certain map layer providers.


Using iframes to present contribution page on remote site We've been using iframes on remote sites to embed CiviCRM contributions pages with generally good results. However, we've recently found out that it is failing in Internet Explorer and Safari. It seems that it has to do with browser policies on allowing cookies set via iframes. Anyone else experienced this? Any ideas on how to resolve it?

It's a bit of a struggle since neither browser will install on linux, however, one user reported getting:

We can't load the requested web page. This page requires cookies to be enabled in your browser settings. Please check this setting and enable cookies (if they are not enabled). Then try again. If this error persists, contact the site adminstrator for assistance.

After a lot of desperate digging we have come up with a work-around. I think the right answer is: Don't use iframes. There seems to be thoughtful reasons to restrict the flow of cookies/session information between an iframe and the parent and even though we have figured out a way to work-around it now, I'm not confident these tricks will work in the future.

Having said that...

For Internet Explorer, we got it to work by sending a header declaring our P3P policy. We used the following in settings.php (I'm sure you could put it in civicrm.settings.php too):

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

That seemed to placate IE (note: you should really lookup what these codes mean before blindly putting this into place - each one of these codes has meaning - more information on meaning is available here).

Safari was much harder. We had to add the javascript provided on a helpful blog post to get things working. It's a crappy solution - since it essentially redirects the user to the CiviCRM page and then back to the iframed page - which is confusing for the user and delays the loading of the page.

Here's the code I added to the Drupal theme's template.php file:

function tceiframe_preprocess_html(&$variables) {
  // Call our parent to do most of the work.
  newsflash_preprocess_html($variables);
  $path = drupal_get_path('theme', 'tceiframe');
  drupal_add_js($path . '/safari.iframe.fix.js');
}

And here is the javascript:

window.onload=function(){
 if(navigator.userAgent.indexOf('Safari')!=-1&&navigator.userAgent.indexOf('Chrome')==-1){
  var cookies=document.cookie;

  if(top.location!=document.location){
   if(!cookies){
    href=document.location.href;
    href=(href.indexOf('?')==-1)?href+'?':href+'&';
    top.location.href =href+'reref='+encodeURIComponent(document.referrer);
   }
  } else {

   ts=new Date().getTime();document.cookie='ts='+ts;
   rerefidx=document.location.href.indexOf('reref=');
   if(rerefidx!=-1){
    href=decodeURIComponent(document.location.href.substr(rerefidx+6));
    window.location.replace(href);
   }
  }
 }
}


How to ensure end-of-period donations are recorded in the correct fiscal year? Suppose an organization's fiscal year ends December 31st, 2018. Organizations which operate on an accrual rather than a cash basis (most, in my experience) would recognize a check dated December 30th, 2018, that was not received until January 4th, 2019, as a 2018 donation.

On CiviCRM contribution entry screens, there are two date fields. "Receipt Date," the date that a receipt was sent to the contributor, is irrelevant to this discussion. The other is labeled "Date Received" and described as "The date this contribution was received." If data entry staff were to take this language at face value, they would enter January 4th for the donation in question, which would result in reporting (or accounting sync) inconsistent with the organization's accounting basis.

An obvious workaround is for staff to be instructed to enter December 31st as the "Date Received" for such checks. Is anyone doing something better than this?

CiviCRM 4.7 have accrual integration where you can specify Revenue recognition for a contribution. You can enable the 'Enable Deferred Revenue' setting by navigating to CiviCRM >> Administer >> CiviContribute >> CiviContribute Component settings.

Once you have enabled the setting you will need to create 'Deferred Revenue' relationship between Financial type and Financial Account.

On new contribution form once you have selected financial type you will revenue recognition field

Documentation : https://wiki.civicrm.org/confluence/display/CRM/CiviAccounts+Data+Flow#CiviAccountsDataFlow-DeferredRevenueImprovements


Creating Membership Directory using Views in Drupal 7 I was trying to create a membership directory view in Drupal 7 but came across this error:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'egyptia2_ess.droe_civicrm_membership' doesn't exist

I created the view and selected Show CiviCRM Memberships for the Content, and then after clicked continue and edit, it gave me the above error.

Double checking, I don't see that table in my MySQL database and am curious if there something I have to activate first prior to creating a view such as this one...

I'd appreciate any help - Matt

If you have separate databases then you need to enable CiviCRM Drupal views integration you need to add some information to the sites settings.php file.

Visit - /civicrm/admin/setting/uf?reset=1

Data from the above CiviCRM page needs to be copied and pasted into your sites settings.php file.

Detailed info can be found here


Hook permissions `type` Looking at hook_civicrm_aclWhereClause I see there is a $type parameter but there is currently no documentation for this type.

What are the allowed values?

These are the various types of permissions to be needed for the users. Allowed values are CRM_Core_Permission::VIEW, CRM_Core_Permission::EDIT, etc.

See more types of permission here - https://github.com/civicrm/civicrm-core/blob/master/CRM/Core/Permission.php#L49-L54


How to add a class to a form element in buildQuickForm? From a user perspective, the 'How many people are you registering?' input, on the event registration form for multiple participants, is a required field. Therefore, it should have the red asterisk for continuity.

However, we can't just add the 'required' formRule to the element, because behind the scenes a '1' is a value of nothing (ie: no additional participants).

So what's the easiest way of adding the 'required' class to the element, without adding the form rule itself? It would be great to push this back to core, rather than us just overriding it in our CSS, even though it is a super-trivial improvement.

John - There's an existing pattern for simply add the markup to the template for cases like this, and I think it's fine for this situation. So in Register.tpl, just add this markup after the label:

*

Note that there was evidently some spots where this technique was used / but then removed in that file (see line 47). I think we can remove that {capture} statement at this point and just put the markup where it's needed.


how to copy data from one custom field to another (text to textarea) I created a custom data field of type text (alphanumeric) for use in a profile, but now realize it should have been a textarea (primarily to support line/paragraph breaks). A number of the these text fields already have data in them. I have created a new textarea custom data field and need to get the data from the each text field into the textarea for the same contact. I'm thinking a can do it using SQL, something like this:

UPDATE table_name
SET column1 = column2

However, poking around in phpMyAdmin, I can't find the relevant table.

Any help will be appreciated.

Wordpress 4.7.5 CiviCRM 4.7.17

To find the correct table(s), you need to know the id of the custom field as well as the id of the custom group it's in.

Go to Administer menu » Customize Data and Screens » Custom Fields
Click View and Edit Custom Fields next to the relevant custom field group.
Look in the URL - it should read something like:

http://mysite.org/civicrm/admin/custom/group/field?reset=1&action=browse&gid=4

Look for the number after gid= (in the example above, "4").
In phpMyAdmin, look for the tables starting with civicrm_value.  Find the one that ends with the gid you identified above.
You should be able to find your custom field data in there.  If your fields are very similarly named, you might also need to know the custom field ID.  In that case, click Edit Field and note the id in the URL.  The custom field you're looking for ends with that number.


Search only the last activity created How could I search for X activity type custom field and only return the last activity created if the record has more than 1 X activity type?

I envision creating a smart group out of this data.

My use case is tracking user preferences and if they do a 180 degree on their preference, I would only want to consider their last preference change. I could use a static custom field but that will not track longitudinally. The worst case is I could store data in both and send data to both custom fields...

I don't see a way of doing it without writing custom code

One path would be to create a custom search that has the right sql to contain only the most recent one. This is closest to what you want, but might have a performance impact (eg if you have loads of records/contacts) when civi builds the smart group

Another one is to denormalise and create the same custom fields you have on the activity but add them (as read only) on the contact instead of the activity

and then you write a hook so everytime a new activity is created with these custom fields, it would automatically duplicate them to the contact... or skip the duplicate custom fields on contact and directly add them to the right group if it's your only use case.

So the activities contain all the history, but the latest version is always stored in the contact (or belong to the right group)

This might get a little bit more tricky if you have to handle edge cases (eg what happens if you delete an activity? if you merge two contacts that have activities?)

This might or might not be an issue in your case

Another way to skin that cat would be to improve civirule to allow new triggers on custom fields.

Good luck, writing an extension isn't that complicated if you know php/sql
X+


Multiple errors after upgrading to 4.7.21 and Joomla 3.7.3 E.g. here: https://www.evergreenmtb.org/support-us/donate

All those files (listed in Chrome's Console w/ errors) do exist, permissions are 644... what am I missing? This started after upgrading to 4.7.21 and Joomla 3.7.3.

Any pointers greatly appreciated : )

This was caused by [civicrm.root] using
https://www.mydomain.com/components/com_civicrm/civicrm/

while it should be using
http://www.example.com/administrator/components/com_civicrm/civicrm/

The $civicrm_root variable is correct in both civicrm.settings.php files so I'm really confused why CiviCRM cannot pull the civicrm.root variable correctly.


How to set super-user privileges in CiviCRM for MySQL? CiviCRM requesting for multilanguage support I have properly installed CiviCRM 10.0, PHP version 7.2, in Joomla 3.6.5 on Linux shared hosting. Works perfectly!

Now that we have configure the Spanish language in Joomla and in CiviCRM set to "Yes" the inherit CMS language option, at the bottom of the page comes this note:

"In order to use this functionality, the installation's database user must have privileges to create triggers and views (in MySQL 5.0 – and in MySQL 5.1 if binary logging is enabled – this means the SUPER privilege). This install either does not seem to have the required privilege enabled. (Multilingual support currently cannot be enabled on installations with enabled logging.)"

Anyone knows where to check and how to set super-user privileges in CiviCRM for this particular issue?

You need to ask your hosting provider to give the database user the permission to create triggers and views. You only need super privileges if you're on an old version of mysql. Since you say you're on shared hosting they may not want to give those privileges, but try asking.


CiviEvent online registration and page not found for online registration After looooong time not working with CiviCRM I was asked for help and now, I am out of ideas.

I've created event with online registration without any entrance fee. Everything is setup properly, but page is not displayed after event link is clicked. I've checked online manuals for that and everything is (or I think it is) setup properly.

CRM is working with 4.7.3 wordpress. Event generated link looks like that:

subdomain.domain.pl/civicrm?page=CiviCRM&q=civicrm/event/register&reset=1&id=3

and as far as I checked, it should looks like

suddomain.domain.pl/?page=CiviCRM&q=civicrm/event/register&reset=1&id=3

I've checked Resource URL and there is no change in those settings.

Also, when I register as participant and check confirmation mail it has another link
subdomain.domain.pl/index.php/2017/01/31/witaj-swiecie/?page=CiviCRM&q=civicrm/event/info&id=2&reset=1

Any ideas why system generates me incorrect link to event registration?

The page or post with a shortcode is not mandatory. Something is probably amiss. Here are a few things to check:

Is your WordPress install in a sub-directory. So the website is http://website.org but the WordPress files reside in http://website.org/wordpress. This can cause the direct links to result in a page not found.
Check your WordPress base page under 'Administer>System Settings>CMS Database Integration' it usually is set to /civicrm (default you can change it to what ever you wish). Make sure that page exists. This is the page Civi uses as a template.

You want to get this straightened out. It can result in some issues depending on what you are doing with Civi. For example your opt-out links in mailings may not work correctly.

Hope this helps.