How can I add a "Recurring" filter to core "Repeat contribution" report? I need a particular type of report which I could not find in core or extended reports.
So I thought of modifying the core report PHP and place it in custom PHP directory. I have manage to add "payment instrument" filter to this particular report.
        'payment_instrument_id' => array(
        'title' => ts('Payment Instrument'),
        'type' => CRM_Utils_Type::T_INT,
        'operatorType' => CRM_Report_Form::OP_MULTISELECT,
        'options' => CRM_Contribute_PseudoConstant::paymentInstrument(),
      ),

However, I need to add another item to the group to filter the result limited to recurring contribution. It could be a checkbox or a Yes/No. Can anyone suggest how can I add it please? Thanks

Over-riding core file would be last thing we should do unless there are no other option, since you need to port the file in each incremental upgrade.
Instead I would do one of the below

To add filtes, fields etc to report i would implement hook_civicrm_alterReportVar via extension or module or plugin

If the requirement is too complex than i would create new report file extending Repeat Contribution report(see example)


How to search activity location without % being added? In several places, and specifically, the "location" field of an activity, as searched using the Advanced Search, I've noticed that given hello there CiviCRM will actually search on %hello there%.
Is it possible to make it just search on what was provided?

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

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


Block locations for events and check conflicting location bookings Is it possible in CiviEvent to prevent a location from being booked? Such as:

location isn't available
location is already booked for a different event
holidays

Would it also be possible to notify the users of this?

Ren, welcome to SE! I think you may need to be clearer about your use case. In particular you say user twice, when I suspect the first may be an admin and the other a general user.

There isn't a mechanism to stop a venue being bookable, but you can make individual events not active in Manage Events >> edit specific event >> location tab. Does that do what you want. You can also allow booking only for a specific time in the online booking tab which may also do what you need. Making some assumptions here of course without more detail.

UPDATE based on comments below. There is currently no facility in CiviCRM to manage allocation of locations. It just holds location as a simple list and does not hold any time information against locations so cannot manage availability. You could write and extension, but it would be quite substantial as you would be doing a room booking system. If you have an external room booking system you might be able to do an integration as an extension but again quite a bit of work. I would suggest something external to CiviCRM as being the easiest option. Maybe a shared calendar.


Long running Scheduled Job In the Areas extension (https://lab.civicrm.org/extensions/org.civicoop.areas) an administrator can define areas such as West Coast and a contact living in a city in West Coast is linked to the area West Coast.

Every time an address is updated the linked areas of that contact is also updated.

However we need to have a solution for the use case when an administrator adds or changes an existing Area.

My idea is that a cron job runs every day and queries the contact table and checks contact for contact the linked areas. This would probably work fine a small database but I am worried that this job times out in a large database.

How would a solution look like if the database has for example 1.000.000 records?

If you run the schedulded job as a cron job and don't use the http-method for the setup you will not face a php runtime timeout. We did have no issues with schedulded jobs running multiple hours.


Afform status (Form Builder) I did create my first customized Contact form with Form Builder. However, I am unable to create a Membership form: currently le proposed field sets are limited to «Individual» «Activities» «Organization» and «household».
Am I missing something or is it merely the current state of the project ?

Welcome to SE! Currently Membership is not supported in Form Builder. A prerequisite for Form Builder is that the entity is supported in APIv4 - and it isn't yet.  See https://lab.civicrm.org/dev/core/-/issues/2023


Which payment processors support refunding payments from within CiviCRM? My client is certain that they have, in the past, initiated credit card refunds from within CiviCRM, such that it triggers an actual refund of the credit card payment to the cardholder.

In contrast, in their current setup, using Stripe, they must initiate the refund within their Stripe console at stripe.com and then ensure the refund is properly recorded in CiviCRM.

For which payment processors (Authorize.net, iATS, etc.), if any, would a staff user be able to initiate the refund process from within CiviCRM, without needing to separately initiate the refund in their payment processor terminal/console?

I know it's not helpful for figuring out who did it in the past, but in-app refunds is a feature that Alice has written for TSYS that we'll be including in the next major version.  There is some coordination that needs to happen on how CiviCRM treats refunds, because if the payment hasn't settled, you're really voiding it rather than refunding it.  CiviCRM doesn't distinguish the two, so we want to be sure that reconciliation isn't a mess.


Is Civi having a separate copy of jQuery inefficient? In my html page source I can see 2 copies of jQuery; one for Drupal, and the other for CiviCRM. Surely this isn't very efficient. Is there a way to reconcile the two?

I wrote a Drupal module to do just that!

https://www.drupal.org/project/civi_jquery

It allows Drupal and CiviCRM to share the same copy of jQuery, and resolves redundant plugins so the browser has a lot less javascript to download and run.

Maybe someone could do something similar for Wordpress?


What is the difference between civicrm-drupal/tree/8.x-master and civicrm-drupal-8? In Does CiviCRM work with Drupal 8 and how can I help? it mentions https://github.com/civicrm/civicrm-drupal/tree/8.x-master, but from all the other instructions and as best as I can tell https://github.com/civicrm/civicrm-drupal-8 is the correct one to use. What is the difference?

The history of the branches started to diverge around Apr, 2018, and there's a comment on May 1 about creating a separate repo (https://github.com/civicrm/civicrm-drupal/pull/523#issuecomment-385612657):

  To facilitate distribution via composer, the Civi-D8 code is being migrated to a new repository with a slightly different branch naming convention (ie civicrm-drupal@8.x-master becomes civicrm-drupal-8@master).

So at the moment for drupal 8 the more current code to use for the drupal module part is at https://github.com/civicrm/civicrm-drupal-8.


WP - Errors after update from 4.6 LTS to 4.7 Upgrading seems to work fine, I checked folders and resources configuration because the paths weren't there anymore.
Then when I try to access the extensions menu I get the following error :

Cannot read unrecognized property CRM_Core_Config::$defaultSymbol.

And the extensions list isn't being displayed. I tried turning debugging on but nothing shows

This is highly due to one of the custom extension enabled on your site. Few steps you could try to fix this -

Check if any of the extension overrides the file CRM/Core/Config.php. If you find it, move it outside the site dir and disable that extension after reloading the page.
Manually disable the extension from the database one by one and try to reload the page. To disable the ext, set is_active value to 0 in civicrm_extension table. (Remember to revert it back if the page reload is still an error).
Check if the custom php directory overrides the core file CRM/Core/Config.php. If yes, do the same as step 1.


Filtering activities by Source Contact ID I want to search for people who have an activity created by a specific person. Search Builder lists the 'Source Contact ID' field but doesn't populate the information nor filter things appropriately. Advanced Search produces similar results. Is there a way to find this group of contacts based on activity and who created the activity?

Search Builder seems to be broken for this functionality, you may report that as an issue in the issue tracker: https://issues.civicrm.org/.

My understanding is that you want to search within the backend of CiviCRM?
Using the API is currently probably the cleanest way of performing the search and adding them at once by using the Activity.get and chaining it with GroupContact.create:

  cv api Activity.get sequential=1 return="target_contact_id" source_contact_id=11 target_contact_id={"IS NOT NULL":1} options={"limit":0} api.GroupContact.create={"group_id":"5","contact_id":"$value.target_contact_id"}

Alternatively you can use the advanced search and search for all activities that have your desired contact as "Added by" and display results as Activity.
You can then tag all those activities with a temporary tag that can be used for activities. In a second advanced search you can search for contacts that have an activity "With" and the temporary tag and add those contacts to a group.

There is also the activity detail report that will let you filter those contacts the easiest way, but I cant see how to get those contacts into a group.


How can I save Search results with preserving Views For Display Contacts (defined in Profile)? I have a smart group which I would like to display with specific info in custom columns.

I can do Advanced search, select this group and choose predefined Profile in Views For Display Contacts. Then I get the group displayed with relevant custom columns.

How can I retrieve this view via link (to put it in Navigation menu)?

A partial solution is listed here: Change the default fields (columns) in contact search results

  You can set this custom search profile with the reduced columns as a default for all contact search results (besides participants) in /civicrm/admin/setting/search?reset=1.

A major drawback is that I'd like to use different columns for different searches rather than the default profile for all searches.


How to use PDF API in production? (This post is following a previous question I asked and is related to ErikH's answer: https://civicrm.stackexchange.com/a/31142/6991)

Context: I want to send per email an attached amended certificate (document ID #73). I tried the API explorer v3 and for one test user (id #54) it worked fine. Why an attached .pdf? Because it's an insurance certificate and it's important for each one of the 4000 members to have it personalized, that they can't modify it because of a legal issue and that they can print it easily. Once the membership is manually approved (it will always stay this way, again for legal issues), I want the team of volunteers to have the simple option to send it.

I have 2 questions that are related to each other. I read the documentation but as far as I am not so familiar to code, I don't know exactly what to do.

Question #1: is it possible to include some code in an existing template with general purpose within Civicrm? and which code? (and of course how?...)

PHP?

    $result = civicrm_api3('Pdf', 'create', [
  'contact_id' => 54,
  'template_id' => 73,
]);

or JavaScript

    CRM.api3('Pdf', 'create', {
  "contact_id": 54,
  "template_id": 73
}).then(function(result) {
  // do something with result
}, function(error) {
  // oops
});

Question #2: for this action, the API needs a contact ID and it's obvious it makes no sense to set it this way. Is there awy to use some fuzion fields instead like the civitoken {user.id}? I tried this way and the API explorer returns an error message. Is it possible or not?
Thanks for any help.

Do I gather correctly you want to do this in many cases? The easiest option would then be to use the CiviRules extension to send the PDF so you do not have to code.

You could then set up something like if a membership of a certain type is added, send the PDF. That would make more sense to me then trying to add it to a template? I do not think that route will take you anywhere.

You can find more information about the CiviRules extension here: https://docs.civicrm.org/civirules/en/latest/

If CiviRules can not help you you would probably have to write an extension but you need to explain more about what is required exactly at what time for me to be able to help you with that.


Importing Relationship Data I know this should be straight forward, but somehow I seem to struggle.
Importing a child-parent relationship.
I have 10 children records (External ID, Child Name, Child Surname) and 5 parent records (Parent Name, Parent Surname, Parent Mobile Number, Subtype).
I used https://dmaster.demo.civicrm.org to import the 10 children records first. I then did another import for the 5 parent record:
I got an error message: External ID already exist in the database
So, 0 records were imported.
So, I tried again. This time I selected Update for For Duplicate Contacts
According to the message, 20 records were created or updated. Thus, I ended up with 20 records.
I thought that there should be 15 records. For example, if parent A has two children (Child 1 & 6), then there should only be one record for Parent A and when we click on Parent A, it should show that Parent A is the parent of Child 1 and Child 6.
At the moment there are two records of Parent A. When you click the one record it shows that Parent A is the parent of Child 1 and when you click on the other record of Parent A, it shows that Parent A is the parent of Child 6. The following are the records for the Parents:
When I selected Fill for For Duplicated Contacts, 20 records were created or updated.
Any guidance will be provided or should it be 20 records.

Check your individual dedupe rule, change the unsupervised one to first name and last name with weight 10 each and total 20.


Leaflet map + Drupal Views + 400 CiviCRM contacts data = performance? We try to pull CiviCRM  contacts data incl. multiply custom fields and display on map. There are around 400 contacts to display, yet map page loads a bit slower, than expected (5 to 10 seconds). It has been worse initially even at quite powerful server, but we've got significant improvements using combination of:

Redis
nginx ngx_http_gzip_module
fine-tuned MySQL (via mysqltuner.pl)
Drupal caching and  Views Accelerator module

Any advice on how to make it loads as fast as possible (up to, say 2-3 seconds) please?

Drupal 7x and CiviCRM 4.6x

UPD Views query

  SELECT civicrm_address.geo_code_1 AS civicrm_address_geo_code_1,
  civicrm_address.geo_code_2 AS civicrm_address_geo_code_2,
  civicrm_contact.organization_name AS
  civicrm_contact_organization_name,  civicrm_website.url AS
  civicrm_website_url,
  civicrm_value_society_chairman_10.public_contact_for_society_988 AS
  civicrm_value_society_chairman_10_public_contact_for_society,
  civicrm_address.street_address AS civicrm_address_street_address,
  civicrm_contact_civicrm_relationship.id AS
  civicrm_contact_civicrm_relationship_id,
  civicrm_value_society_chairman_10.subs_rate_single__38 AS
  civicrm_value_society_chairman_10_subs_rate_single__38,
  civicrm_value_society_chairman_10.meeting_day_time_1_531 AS
  civicrm_value_society_chairman_10_meeting_day_time_1_531,
  civicrm_value_society_chairman_10.meeting_day_time_2_532 AS
  civicrm_value_society_chairman_10_meeting_day_time_2_532,
  civicrm_contact.id AS id FROM  {civicrm_contact} civicrm_contact INNER
  JOIN {civicrm_relationship} civicrm_relationship_civicrm_contact ON
  civicrm_contact.id = civicrm_relationship_civicrm_contact.contact_id_a
  AND (civicrm_relationship_civicrm_contact.relationship_type_id = '59'
  AND civicrm_relationship_civicrm_contact.is_active = '1') LEFT JOIN
  {civicrm_relationship} civicrm_relationship ON civicrm_contact.id =
  civicrm_relationship.contact_id_a INNER JOIN {civicrm_contact}
  civicrm_contact_civicrm_relationship ON
  civicrm_relationship.contact_id_b =
  civicrm_contact_civicrm_relationship.id LEFT JOIN {civicrm_address}
  civicrm_address ON civicrm_contact.id = civicrm_address.contact_id
  LEFT JOIN {civicrm_website} civicrm_website ON civicrm_contact.id =
  civicrm_website.contact_id LEFT JOIN
  {civicrm_value_society_chairman_10} civicrm_value_society_chairman_10
  ON civicrm_contact.id = civicrm_value_society_chairman_10.entity_id
  WHERE (( (civicrm_address.geo_code_1 IS NOT NULL ) AND
  (civicrm_address.geo_code_2 IS NOT NULL ) AND
  (civicrm_contact.contact_type IN  ('Organization')) AND
  (civicrm_contact.contact_sub_type IN  ('Society')) )) LIMIT 1000
  OFFSET 0

We think the answer is that the performance issues are (very likely) in the custom code/tpls - that get invoked as well. We've determined that the Views query itself was not the issue.

https://stackoverflow.com/questions/535020/tracking-the-script-execution-time-in-php


Looking for a Wordpress template to integrate CiviCRM We have some issues about wordpress themes we bought at theme forest and CiviCRM.
When i google I find a a lot of same problems other users have with the CiviCRM backend and some wordpress themes.
Before I buy any new one I really wanna be sure that there are no problems with CiviCRM.
Is there any list of compatible wordpress themes somewhere here?
Or what kind of creative themes do you guys use together with CiviCRM?
Thanks for any suggestions and help.

Assuming you are using the latest and greatest Civi and Wordpress - most themes should work fine.

There was an issue with backbone conflicts that may have caused issues with some themes- but that was addressed in 4.7.31. Outside of that - I never had an issue with the CiviCRM backend when using any front end theme. However, I have had conflicting CSS on the front end that can typically be fixed by changing some lines in your CSS.

As for what theme I use - a modified version of twentyseventeen.


Is there an extension to manage Keycloak users? Is there an extension to manage Keycloak users?
https://www.keycloak.org/
We are using CiviCRM together with drupal 7.

daveawe12323, identity and access are managed at the Drupal level and there is connection between the Drupal "user" and the CiviCRM "contact". It looks like the only Keycloak Drupal module is for Drupal 8 but there is documentation on using Keycloak as OAUTH or OpenID.
I hope this helps.


Mailing labels - print: "TCPDF ERROR: Some data has already been output, can't send PDF file" This one has consumed my entire weekend, and still we can't make mailing labels. Running Civi 4.7.15 on WordPress 4.7.2 ... successfully installed and tested wkhtmltopdf only to discover Civi doesn't use this app for mailing labels. Paths in TCPDF config appear to be good, and I haven't modified the code except for the config file (which I did after discovering the malfunction). Debugging shows no errors, yet every attempt to make mailing labels displays "TCPDF ERROR: Some data has already been output, can't send PDF file."

What might cause this?

I imagine the ideal solution would be to sniff out the reason there's content in the output buffer when there shouldn't be. That's not what I did. Knowing very little about PHP, I looked up functions pertaining to the output buffer, then added

ob_clean();

right after the author/version comments in tcpdf.php ... that's the only change I had to make. Successfully downloaded my address label pdf in Civi and patted myself on the back.


Blank civicrm?page=CiviCRM&q=civicrm/contribute/transact&reset=1 live contribution page wordpress Wordpress  4.9.6, CiviCRM 5.1.2. Logged in as Administrator, all works fine (Events links, TEST Contribution page) but LIVE Contribution pages: gives  just blank page. Nothing in  php.error.log, Apache error_log.
ConfigAndLog/*  repeatedly says something about "access to page" which, perhaps, is not relevant for WP "super-user".

Deep googling has brought  a few of same cases, each of them has own cause, so there is no pattern.  Any chance this is a well-known issue in the latest versions of CiviCRM / WordPress? Thanks!

#0 /public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(381):
CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /public_html/wp-
content/plugins/civicrm/civicrm/CRM/Utils/System/WordPress.php(350):
CRM_Core_Error::fatal("You do not have permission to access this page.")
#2 /public_html/wp-content/plugins/civicrm/civicrm/CRM/Utils/System.php(74):
CRM_Utils_System_WordPress->permissionDenied()
#3 /public_html/wp-
content/plugins/civicrm/civicrm/CRM/Event/Page/EventInfo.php(58):
CRM_Utils_System::__callStatic("permissionDenied", (Array:0))
#4 /public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(309):
CRM_Event_Page_EventInfo->run((Array:3), NULL)
#5 /public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(84):
CRM_Core_Invoke::runItem((Array:15))
#6 /public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(52):
CRM_Core_Invoke::_invoke((Array:3))
#7 /public_html/wp-content/plugins/civicrm/civicrm.php(1246):
CRM_Core_Invoke::invoke((Array:3))
#8 /public_html/wp-
content/plugins/civicrm/includes/civicrm.basepage.php(141):
CiviCRM_For_WordPress->invoke()
#9 /public_html/wp-includes/class-wp-hook.php(286):
CiviCRM_For_WordPress_Basepage->basepage_handler(Object(WP))
#10 /public_html/wp-includes/class-wp-hook.php(310): WP_Hook-> apply_filters(NULL, (Array:1))
#11 /public_html/wp-includes/plugin.php(515): WP_Hook->do_action((Array:1))
#12 /public_html/wp-includes/class-wp.php(726): do_action_ref_array("wp",
(Array:1))
#13 /public_html/wp-includes/functions.php(960): WP->main("")
#14 /public_html/wp-blog-header.php(16): wp()
#15 /public_html/index.php(17): require("/public_html/wp-blog-header.php")
#16 {main}

By testing on the wpmaster.demo.civicrm.org site and going to what i take it is the public version of the contribution page at eg

  http://wpmaster.demo.civicrm.org/civicrm/?page=CiviCRM&q=civicrm/contribute/transact&reset=1&id=4

I do not get a blank page which suggests several things including that it isn't broken on dmaster.

Some possible things to try

switching WP themes
using Inspect to compare output on demo v your site

Not sure how much either will help as not a WP specialist


Event Report filter not working I am trying to create an event report but I am not able to filter a specific event in the Event filter, it shows as "None found" even when there are active events present and there is no error in the browser console. Kindly help me to fix the issue.

It can be a good idea to clear all CiviCRM caches. You can do that using the url https://www.yourdomain.com/civicrm/menu/rebuild.

Regarding the logs, you can turn on logging and debugging in CiviCRM (https://www.yourdomain.com/civicrm/admin/setting/debug?reset=1) and then have a look at the log available in Drupal's UI first: https://www.yourdomain.com/admin/reports/dblog


CiviRules: Is there a trigger that can be used if a groupcontact is deleted? The trigger "Contact is removed from Group" doesn't fire if the groupcontact is deleted (and not removed). Is there a trigger, that can be used to react on the deletion of a groupcontact?

If it is not in the list it does not exist yet :-). As long as the pre hook is used in the group delete it should not be hard to add. Are you in a position to check this and add it?


Problem processing inbound emails to activities Using Civi 4.6.10 and Drupal 7, when running the scheduled job to process inbound emails I'm constantly seeing the following error:

Dec 31 13:39:53  [info] $Fatal Error Details = Array
(
    [message] => No clue about the ezcMailDeliveryStatus
    [code] =>
)

Dec 31 13:39:53  [info] $backTrace = #0 /data/www/html/sites/all/modules/civicrm/CRM/Core/Error.php(322): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /data/www/html/sites/all/modules/civicrm/CRM/Utils/Mail/Incoming.php(88): CRM_Core_Error::fatal("No clue about the ezcMailDeliveryStatus")
#2 /data/www/html/sites/all/modules/civicrm/CRM/Utils/Mail/Incoming.php(221): CRM_Utils_Mail_Incoming::formatMailPart(Object(ezcMailDeliveryStatus), (Array:0))
#3 /data/www/html/sites/all/modules/civicrm/CRM/Utils/Mail/Incoming.php(115): CRM_Utils_Mail_Incoming::formatMailMultipartReport(Object(ezcMailMultipartReport), (Array:0))
#4 /data/www/html/sites/all/modules/civicrm/CRM/Utils/Mail/Incoming.php(85): CRM_Utils_Mail_Incoming::formatMailMultipart(Object(ezcMailMultipartReport), (Array:0))
#5 /data/www/html/sites/all/modules/civicrm/CRM/Utils/Mail/Incoming.php(342): CRM_Utils_Mail_Incoming::formatMailPart(Object(ezcMailMultipartReport), (Array:0))
#6 /data/www/html/sites/all/modules/civicrm/CRM/Utils/Mail/EmailProcessor.php(249): CRM_Utils_Mail_Incoming::parseMailingObject(Object(ezcMail))
#7 /data/www/html/sites/all/modules/civicrm/CRM/Utils/Mail/EmailProcessor.php(111): CRM_Utils_Mail_EmailProcessor::_process(FALSE, Object(CRM_Core_DAO_MailSettings))
#8 /data/www/html/sites/all/modules/civicrm/api/v3/Job.php(386): CRM_Utils_Mail_EmailProcessor::processActivities()
#9 /data/www/html/sites/all/modules/civicrm/Civi/API/Provider/MagicFunctionProvider.php(89): civicrm_api3_job_fetch_activities((Array:1))
#10 /data/www/html/sites/all/modules/civicrm/Civi/API/Kernel.php(96): Civi\API\Provider\MagicFunctionProvider->invoke((Array:9))
#11 /data/www/html/sites/all/modules/civicrm/api/api.php(23): Civi\API\Kernel->run("Job", "fetch_activities", (Array:1), NULL)
#12 /data/www/html/sites/all/modules/civicrm/CRM/Core/JobManager.php(131): civicrm_api("Job", "fetch_activities", (Array:1))
#13 /data/www/html/sites/all/modules/civicrm/CRM/Core/JobManager.php(102): CRM_Core_JobManager->executeJob(Object(CRM_Core_ScheduledJob))
#14 /data/www/html/sites/all/modules/civicrm/bin/cron.php(53): CRM_Core_JobManager->executeJobByAction("job", "fetch_activities")
#15 {main}

In researching this issue I've come across https://issues.civicrm.org/jira/browse/CRM-9484 which looks to be generating the same error (although I'm not seeing empty contact records being created). I can see that that issue is fixed for 4.7., but I don't want to upgrade to 4.7 (it's in beta as I write, plus I want to stay with 4.6. as the nominated LTS version).
I also know that email to activity processing was working correctly a few months ago. Might this be due to problematic email messages in the mailbox being checked?

Yes it sounds like it's hitting an email it doesn't know how to parse - see the code for that function formatMailPart() where it fails (https://raw.githubusercontent.com/civicrm/civicrm-core/master/CRM/Utils/Mail/Incoming.php). Can you tell which email? Anything odd about it? In particular if you view the message source there might be a "Content-Type:" line with an unsupported type.

That "fix" for 4.7 all it does is just skips the email instead of a fatal error, but you'd still have an email that doesn't get processed.


Pay later for Membership - How does the membership get entered? Civi v4.6.2 When entering a membership via the online contribution and using the Pay Later option I notice the membership does not get created.  Does an admin type person have to manually enter the membership?

The membership is created when the payment is (manually) entered.


Civimail & Drupal Multisite -- tracking url looks in wrong location for civicrm.settings.php I've looked around and seen several similar issues to this, but not exactly the same.  I have civimail configured to send emails just find and the tracking url works initially, but ends in failure as it cannot find the civicrm.settings.php file in sites/default/

The problem may be that I have multiple sites running on a common installation of drupal. But, the sites folders are named the same as the virtual site (e.g., sites/example.com for example.com).  It's not clear to me why Civicrm is failing to detect the proper path for the civicrm.settings.php file.

For reference:  Civicrm 4.6.14, Drupal 7.42

KEY thing is that when you have a Drupal multi site config - make sure that each civicrm is in its corresponding /sites/example.com/modules

You can structure that too: put your CiviCRM versions in one central place eg /var/www/ so you have a civicrm/4.6 a civicrm/4.7 etc - then add a symbolic link in each projects /modules directory to the /var/www/civicrm/4.x version it's on.

This way you can now easily update both minor Drupal and minor CiviCRM versions across all your sites/projects!

EDIT: example:
in /home/karin/org.ca/modules

  lrwxrwxrwx.  1 karin karin    20 Jan 15 13:37 civicrm ->
  /var/www/civicrm/4.6


What is the status of CiviCRM working with Drupal 9? With the official release only a few days away (June 3, 2020) and the Drupal 9 porting weekend having just completed with a big effort by KarinG (https://github.com/colemanw/webform_civicrm/pull/314), what is the status of CiviCRM working with Drupal 9?

Trying to upgrade a D8.8.6 site to D9 ->

karins-MBP:d9civicrm.local sysadmin$ composer require drupal/core-recommended:~9.0.0@dev drupal/core-composer-scaffold:~9.0.0@dev --update-with-dependencies --no-update
./composer.json has been updated
karins-MBP:d9civicrm.local sysadmin$ composer update

Found two issues:

symfony conflict -> Drupal 9 requires 4.4
civicrm/civicrm-core 5.25.0 requires symfony/dependency-injection ^2.8.50 || ~3.0

pear exception conflict: Can only install one of: pear/pear_exception[v1.0.1, v1.0.0]; - pear/log 1.13.1 requires pear/pear_exception 1.0.0 -> satisfiable by pear/pear_exception[v1.0.0].

WIP PR by Core Team -> to resolve the symfony conlict: https://github.com/civicrm/civicrm-core/pull/17380

And resolved!

This now works:

a) create a D8 project ->

composer create-project drupal/recommended-project d9civicrm.local

b) cd d9civicrm.local

c) composer require civicrm/civicrm-core:dev-master civicrm/civicrm-packages:dev-master civicrm/civicrm-drupal-8:dev-master civicrm/civicrm-asset-plugin:~1.0.1

Go through the usual motions of installing D8 in your favourite language, database and timezone -> and then enable CiviCRM Core [you will need to ensure your web/sites/default dir is writable for the civicrm.settings.php file to be generated].

d) then onto D9 ->

composer require pear/pear_exception:'1.0.1 as 1.0.0'

e) rm composer.lock

f) composer require drupal/core-recommended:^9.0 drupal/core-composer-scaffold:^9.0 drupal/core-project-message:^9.0 drupal/core-dev:^9.0 --update-with-all-dependencies

And that produces:

Next step is here: https://github.com/civicrm/civicrm-drupal-8/pull/40/files
[that will make CiviCRM installable as a D9 module].

Many more steps to go I'm sure! Thanks to Core Team and Mikey for their quick action on some of these items!

Update -> as of June 03 - 2020 -> webform_civicrm module is officially D9 Compatible:


Adding popup info via CRM.help() - doesn't quite work I am trying to add some end user popup help text for some fields in a profile.  I have looked at several examples in core and extensions and have tried to follow them as examples.  I have an extension already loaded where I am (attempting) to manage the code.  I have added the anchor html and "onclick" javascript into the field's pre-help text for the custom field.

The popup works, of sorts.  The popup appears, along with the title supplied in the anchor tag, but the actual content of the popup does not.
    &nbsp;

The .hlp file has IDs named correctly AFAIK, as what-is-this-title and what-is-this.  What am I missing?

This is how I have implemented the popup help texts in CiviSEPA. The main difference here is that the .hlp file extension is omitted, the directory separator in the path are escaped and that I have enclosed the code in {literal} {/literal}-tags.


Add custom data field column to contribution tab Is there a way to add additional fields in the contribution tab on a contacts record?

As Jon says you will need to write some code, it wouldn't be difficult to implement though.

What I tend to do is create a Civi extension or use an existing one as explained here.

Once done, you could use hook_civicrm_searchColumns to add an extra column header as explained here and then create a custom template, as documented  here, of the file templates/CRM/Contribute/Form/Selector.tpl to output the value needed.

The downside of the searchColumns hooks is that you wont be able to sort the data for that specific value.

Hope that gives more insights.


Creating a copy of CiviCRM on a test sub-domain (Wordpress) I need simple step-by-step procedure to copy my current production site to a sub-domain on the same server, that we intend using for testing/development (its important that we retain all our custom fields and other customization). We are running Wordpress, CiviCRM 4.7.12.

Please refer to Moving an Existing Installation to a New Server or Location for this.


How to add a field on Date Formats setting form? I want to add a field under Localization > Date Formats. What is the correct procedure to do this?

This is what I tried. I added an entry in Localization.settings.php, CRM/Admin/Form/Setting.php's $_settings array property and CRM/Core/Config/MagicMerge.php and, added a corresponding record on civicrm_settings table and cleared the cache. The field is not showing up. What am I missing?

I wouldn't do this by editing core files. I would implement the buildForm and postProcess hooks in a module extension.

https://wiki.civicrm.org/confluence/display/CRMDOC/Create+a+Module+Extension

https://wiki.civicrm.org/confluence/display/CRMDOC/Hook+Reference

But having said that I probably also wouldn't add it to a core form, I would make a settings page for my extension, which is just a module extension that implements the "add a basic web form" instructions at the first link.


Bulk sms to a smart group in civi 4.4? I want to send out a bulk sms asking for evaluation of our event, to the participant of the event, the day after the event.

I then thought of creating a smart group of those contact with the participant status 'attended' to my event. And then schedule a bulk sms to that smart group.

But it doesn't seem possible to send bulk sms to a smart group.

Is it possible to send bulk sms to a smart group? And if so, how to do that?

(Drupal and CiviCRM 4.4)

You don't say what version of CiviCRM you are on.

I am sure you can do this with scheduled reminders in 4.6 or 4.7 provided you have an SMS gateway configured. See http://docs.civicrm.org/user/en/stable/sms-text-messaging/set-up/  and http://docs.civicrm.org/user/en/stable/email/scheduled-reminders/

You won't need a smart group as once you have selected the event you can specify which participant statuses are sent the SMS.


What is the difference between a grey and blue organisation We have different contact types including individuals and organisation and within the organsiation different types of organisations. But I cannot understand why some organsiation show as a blue building and some as a grey building.

Sylvia,

Welcome to CiviCRM stackexchange. CiviCRM allows you to create contact sub types under each contact types. When adding new contact sub type the form allows you to define the image url which is used to display against contact. If you ignore this field at the time of saving or have no values than CiviCRM uses default image to show against the contact i.e Grey building. The blue color building is for Organization contact type i.e Organization contact having no sub type.

Hope this clarifies your question

Pradeep


How can I import custom data contact references as names rather than id numbers When I try to export custom data from the front-end and export a contact reference I get the name of the contact rather than the id. But when I try to do the reverse and import an organization with some custom data(one of which is a contact reference) the front-end demands an ID. Is there a way to fix this?

I see, you're right.

It would make sense that the export would have a contact reference be part of the "related contact info". Unfortunately that is not the case at this moment.

The best way for you to approach as I see it is to do the export via the CiviCRM API. It is more cumbersome to use (if you are used to using the front-end), but it has more flexibility and more possibilities.

For more info, look https://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API


Customize Civi's UI on WordPress? Is there a way to customize the actual UI of Civi?

I'm sorry, but it's the ugliest thing I've seen in years.

I understand if not, but... it's gross.

Using WordPress (current version), multisite network.

This alternate theme for wordpress is available: https://lab.civicrm.org/extensions/haystacktheme

You can also add your own css by writing a little extension that adds your own css file: https://docs.civicrm.org/dev/en/latest/framework/resources/#css-stylesheets


Change Default Organization I am on CiviCRM 4.4.9. I have followed the instructions for "Moving an Existing Installation to a New Server." When I open the Civicrm in the new location, it appears that it is setting the default organization to my contact (my contact ID is 1) instead of the organization's contact ID which is 26299. My contact has about 58K of activities; the organization's activities are 2.

How do I change the default organization to the proper contact?

You should be able to set it in Administer > Communications > Organization Address and Contact Info, as per: Wrong default organisation

ETA: As I just went through the process of transferring to a new server, I've realised that the instructions result in your original civicrm_domain being skipped in the MySQL dump. A fresh install of CiviCRM on the new server will assign the contact id 1 to the default organisation in the civicrm_domain table - you can get around his by either including civicrm_domain in the initial SQL dump, or by editing the contact_id field in the new database's civicrm_domain table.


Do sites without SSL now need one for PayPal IPN? PayPal is upgrading their certificate and require that people's certificates are also upgraded. Copying the notice below.

But IPN can currently be used without a certificate. Does anyone know if that will not be allowed in future? Or if the older certificates will not work but non-ssl connections will continue to work?

I know it's advisable to have SSL... But some sites want to avoid having SSL and that's why they use PayPal, to avoid asking for credit card information on their site.

PayPal email:

  As we have previously communicated to you, PayPal is upgrading the certificate for www.paypal.com to SHA-256. This endpoint is also used by merchants using the Instant Payment Notification (IPN) product.

  This upgrade is scheduled for 9/30/2015; however, we may need to change this date on short notice to you to align to the industry security standard.

  You’re receiving this notification because you’ve been identified as a merchant who has used IPN endpoints within the past year. If you have not made the necessary changes, we urge you to do so right away to avoid a disruption of your service!

https://www.paypal-community.com/t5/About-Business/PayPal-Endpoint-certificate-upgrade-SHA-256-encryption/m-p/997455#U997455

  Merchants using PayPal Instant Payment Notifications (IPN) may be impacted by the change if their web server is not enabled for SHA-256 compliance. If you are using a 3rd party solution for order management and for integrating PayPal on your website, you may be using IPN.  Please check with your shopping cart provider to see if you are affected.

and

  If you are a merchant who uses IPN with PayPal, your server will need to be upgraded to support SHA-256.  Please contact your web host or the checkout partner providing the integration solution to ensure SHA-256 is enabled for the server.

No, PayPal state that SSL will not required for IPN. I contacted PayPal MTS to confirm and got the responses below:

PayPal seem to be saying

if you have SSL yourself, your certificate and its chain need SHA-256 not SHA-1 both for PayPal and modern browser support,
when you connect to their server, your webserver must accommodate their SHA-256 certificate. Most hosting environments will be fine, but older envs lacking SHA-256 support in SSL libs won't.

PayPals docs are a bit unclear (hence your question!), but they seem to be stating certificates must be SHA-256 rather than all sites require a certificate. In particular the graphic at top of 2015-2016 SSL Cert Change Microsite) can confuse since it says "must be running a SHA-256 compliant server".

My assessment, based on the following (later confirmed via PayPal MTS), is that non-SSL IPN will still be supported. Rationale:

Requiring SSL for all sites would be a big business change; it would kill IPN on a lot of small orgs who don't have the $$ for SSL hosting.
PayPal's IPN simulator does not validate the protocol for SSL. If this was a requirement, they would implement it in their simulator.
PayPal's IPN simulator works using plain HTTP, fails when using SSL to a SHA-1 cert site, and works when using SSL to a SHA-256 cert site.
PayPal's docs refer to "SHA-256 compliance" and seem to say "require SHA-256 compliant cert" rather than "require a cert".

I've submitted a support question & asked PayPal on Twitter (1, 2). Will update if we get a canonical YES or NO - we have multiple clients asking the same.

Update: Initial responses (reply from MTS, Twitter) are that HTTP IPN will be a supported use case after SHA256 rollout.

Update 2: PayPal Merchant Technical Services have replied that IPN over plain HTTP can be supported once 2015-2016 SSL migration completes. Answer updated.

Update 3: Adding confirmation from @PayPal_Frank in a paypal-community.com forum question

All that said - I recommend that ALL organisations using CiviCRM should SSL their traffic for contact privacy. Read Joe Murray's post on the CiviCRM blog and consider your contact's privacy - SSL is inexpensive and helps build trust; it'll probably pay off for your org.


An email confirmation with these payment instructions has been sent to I am using CiviCRM 5.18.4 with WordPress 5.3.2.

On a Donation page, when "pay later" is available and selected, and when the option to send confirmation email is also selected, the "pay later" instructions that are displayed to the user include:
"An email confirmation with these payment instructions has been sent to ."

But no email address is displayed.  The email is sent OK, but the user is understandably worried.

I did see a question about this back in 2018, with a suggested code fix, but that fix has not been implemented.

If no one can fix the code, can someone suggest a workaround?  I do want to use the Pay Later option, without causing users to worry and me to look sloppy.

Thanks!

This looks like there's a fix just hasn't been confirmed yet:

https://lab.civicrm.org/dev/core/issues/1255

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

If you can try out the patch and make a comment there that it fixes it for you it will help get it included faster.


Any organisation in London that would be willing to show us funtionalities of CiviCRM ? I am trying to promote civiCRM at my governmental organisation in London and I would be very grateful if I could visit another organisation that uses several functionalities to see how it works live. Mailing and campaigning are the most important features for us. Thank you all for your time. Romina.

Pleased to hear that you want to promote CiviCRM!

This may not be the best place to ask this question.  You may have better luck on the CiviCRM chat site.

Alternatively you could search for a CiviCRM partner based in London and ask if they can help.

You may also be interested in the CiviCRM meetup in London.

Of course there are also the demo sites if you want to try it out for yourself.

I hope that helps.  Good luck!


Contribution Page Creates Payment I have setup a webform using the Civi/Drupal webform module, which allows people to submit payments they intend to make and keep it as Pending before they make it.

What is happening is the contribution goes in as Pending but when you change the amount and go to record a payment the amount stays as the original amount. This is because a payment was recorded.

How do i stop contribution page from recording a payment and i just want the contribution to be Pending in CiviCRM Contribution Page on that users account.

Thanks

Yes, its a bug in civicrm webform module as it doesn't record line item correctly. The price field value and price field id are missing. I have a patch(for 7.x-5.0) that works for contribution amount field but not for line item field in webform. If you are using contribution amount than you can give it a try.

diff --git a/includes/wf_crm_webform_postprocess.inc b/includes/wf_crm_webform_postprocess.inc
index ea9dc8f..5a78d2e 100644
--- a/includes/wf_crm_webform_postprocess.inc
+++ b/includes/wf_crm_webform_postprocess.inc
@@ -1552,14 +1552,17 @@ class wf_crm_webform_postprocess extends wf_crm_webform_base {
     // Contribution
     $fid = 'civicrm_1_contribution_1_contribution_total_amount';
     if (isset($this->enabled[$fid]) || $this->getData($fid) > 0) {
-      $this->line_items[] = array(
-        'qty' => 1,
-        'unit_price' => $this->getData($fid),
+      $params = [
         'financial_type_id' => $this->contribution_page['financial_type_id'],
+        'total_amount' => $this->getData($fid),
+      ];
+      CRM_Price_BAO_LineItem::getLineItemArray($params, NULL, 'contribution');
+      $lineItem = reset(reset($params['line_item']));
+      $this->line_items[] = array_merge($lineItem, [
         'label' => wf_crm_aval($this->node->webform['components'], $this->enabled[$fid] . ':name', t('Contribution')),
         'element' => 'civicrm_1_contribution_1',
         'entity_table' => 'civicrm_contribution',
-      );
+      ]);
     }
     // LineItems
     $fid = "civicrm_1_lineitem_1_contribution_line_total";


Webform civicrm Conditionals not working Seasons greetings I am using conditionals to hide content on a civicrm webform using Drupal 7 with Civicrm 5.8.2.  It has been working fine, but the form now presents with all the conditional fields displayed. This does work correctly, if the user is logged in.  That is not acceptable as all users are anonymous. My test system using the same versions is working correctly.  I have ensured that all versions are the same across the two systems.  Any clues on where to look now would be much appreciated.
Regards Graham

webform conditionals is native to D7 webform module - and independent of webform civicrm module.

If conditionals for D7 webform module are not working as expected you may have some javascript issues on your site. Look in the browser's console to check for errors.

If your test system is using a different front end theme and if admins with permissions are able to use admin theme - then it's very likely that your javascript issues are inadvertently caused by your front end theme. Perhaps it requires jquery update module e.g.?


Assign more than 100 contributions to a Batch Is it possible to assign more than 100 contributions to a batch? We have a site with thousands of contributions so we want to make this job quicker. By default, you can only assign 10, 25, 50, 100 contributions to a batch.

Screenshot from
/civicrm/batchtransaction?reset=1&bid=x

You add more than 100 transactions to a batch, but only up to 100 at a time.  I had to do this when first implementing the batch processing - creating a batch of previous transactions.

I just wish that Civi would remember the number of entries selected when returning from applying.


Limit the list of contacts to search when assigning a case role When I assign a case role to someone it seems like CiviCRM allows/requires me to search through the whole contact database. As there might be many matches for a search string it takes extra time to ensure that the one I assign is really the one I intended.

In my organization only a few persons are actually possible targets for such an assignment, as I assume is the case in most constituents, thus only a few in the contact database should be possible to select on e.g. assignment of case responsible.

Am I missing some configuration to make this happen? I know about permissions (which I so far have had no need for, "normal" contacts don't access our CiviCRM), are they related to this?

On essence, I want the contacts to be searched when assigning a case role to be limited, e.g by a group, so a match can be found quicker and more unambiguous. How do I do that?

As of CiviCRM version 4.6 the contact autocomplete (aka entityRef) field provides the sort of filters you are requesting.

When the autocomplete box opens you'll see a "Refine search..." option, which allows you to limit results by group, tag, contact type, and other filters.


Failed contribution does not re-run if reject code is REJ:25 Capture card. Reported lost or stolen We have our iATS Payment Settings failure count settings set to 3. In general this causes a failed donation to run for 2 consecutive days after the initial failed attempt. This would be 3 failed attempts in total. After the third failed attempt, Civi sets the next scheduled date to the following month.

However, if the transaction fails with a REJ:25 Card lost or stolen code, the transaction does not attempt to re-run the transaction at all set the next scheduled date to the following month.

Is this a core feature of civi or is this a bug in our set up?

That's intentional. If the Card is lost or stolen REJ: 25 - you don't want to be transacting it as it can result in charge backs (and even fines). So the idea is we push the next_scheduled_date one month into the future and give you a chance to connect with the donor to update their card details. A REJ:15 is often a temporary problem so that one we would try again tomorrow [as you indicated in your iATS Payments Settings].


What sort of fix is needed to make Drupal Search work correctly on a civicrm page such as an Event or Contribution page Just spotted that if you have a Drupal search block on eg a Contribution page, and try to use it, it will either take you back in to CiviCRM with a qf key (back to the last thing i modified i think), and for logged out (non permissioned) users they get a long message ending with "Error type: Could not find a valid session key".
How does a Drupal search trigger this outcome?

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

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

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

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

My suggested dodgy workarounds are:

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

My wild clever idea solution is:

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

My fantasy perfect solution is:

Destroy all HTML QuickForm.

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


Error printing to pdf We are on CiviCRM 5.15.1

In trying to pdf print a member list ('Print to  PDF') we get the error below.

An error of type E_ERROR was caused in line 274 of the file /home/.../public_html/wp-content/plugins/civicrm/civicrm/vendor/dompdf/dompdf/src/Dompdf.php. Error message: Uncaught Error: Call to undefined function Dompdf\mb_internal_encoding() in /home/.../public_html/wp-content/plugins/civicrm/civicrm/vendor/dompdf/dompdf/src/Dompdf.php:274

Stack trace:

-0 /home/.../public_html/wp-content/plugins/civicrm/civicrm/CRM/Utils/PDF/Utils.php(200): Dompdf\Dompdf->__construct(Object(Dompdf\Options))

-1 /home/.../public_html/wp-content/plugins/civicrm/civicrm/CRM/Utils/PDF/Utils.php(125): CRM_Utils_PDF_Utils::_html2pdf_dompdf(Array, 'landscape', '\n\n

Based on replies here this is the solution.
Hosting support assured me:
Package alt-php72-xml-7.2.20-2.el6.x86_64 already installed and latest version

Then I enabled wordpress debugging, and found that the package 'GD' was required, so I enabled that in cPanel. PDF printing is now working!


Automated email after event registration We have an email with instructions about our event, information to help you prepare, hotel information, etc. Currently we're adding it all to the receipt, which makes for a very long message. We'd rather have it sent out as a separate message. Especially seeing as some of our events have different information and we have to include everything in one message, even if it doesn't apply to that event.

Is there a way to have an automated message that goes out after a registration that is not the receipt? Or a way to add to the reminder emails the option for a certain amount of time after registration, not time before/after the event?

Thanks!

Oh, I'm on Drupal 7 and CiviCRM 4.7.29

You can use Scheduled Reminders (Administer>Communication>Scheduled Reminders) to automatically send an email based on an event type, or even event name.

Alternatively you can use the CiviRules extension(extension found here: https://civicrm.org/extensions/civirules and documenation here: https://docs.civicrm.org/civirules/en/latest/) to do achieve this.


System Status Page Blank after Upgrade After upgrading from 4.7.31 to 5.2.0 the system status page is blank. I made sure the Directory and Resource url settings match; I cleaned up caches and reset paths; I disabled the Asset Cache; no luck. Anything I'm missing?

EDITED TO ADD:

I have since upgraded, and when I go to the status page I get an error that CiviCRM is unable to retrieve an extension. After I update paths, then it just goes to a blank page. The console says: Error: Syntax error, unrecognized expression: #/status

Here's one answer that fixed my problem (see my comment above).  The cause was that when I created the Drupal system I just used the domain name without the www.  But Civi was loaded with www.  This is an old problem and I'm a bit ashamed to admit I made this mistake again!  But if your system has this mismatch then system status won't work.  Fix was to change the base url in Drupal.


Errors Adding Registrant Recently created an event and started adding registrants. When I add a new registrant these errors appear:

Notice: Undefined index: is_show_location in CRM_Event_Form_Participant->postProcess() (line 1516 of /home/*****/www/www/sites/all/modules/civicrm/CRM/Event/Form/Participant.php).
Notice: Undefined index: metric in CRM_Core_BAO_PdfFormat::retrieve() (line 309 of /home/*****/www/www/sites/all/modules/civicrm/CRM/Core/BAO/PdfFormat.php).
Notice: Undefined index: metric in CRM_Core_BAO_PdfFormat::retrieve() (line 309 of /home/*****/www/www/sites/all/modules/civicrm/CRM/Core/BAO/PdfFormat.php).

I recently updated to 4.6.3 but it all seems to be working otherwise. Suggestions?

Did you back up your database before the update (as suggested) - can you find 'name' = 'metric' in your civicrm_option_value table?


Does version 5.27 break links to live and test-drive pages for contribution pages? Just upgraded a WP site to Civi 5.27.1. From 'Manage Contribution Pages' the links as given to Live and Test Drive for a given contribution page appear broken - i.e. they create a white screen indicative of a fatal error. The URLs provided are:
Live Page: https://www.example.org/wp-admin/admin.php?civiwp=CiviCRM&q=civicrm%2Fcontribute%2Ftransact&reset=1&id=1
and
Test Drive: https://www.example.org/wp-admin/admin.php?civiwp=CiviCRM&q=civicrm%2Fcontribute%2Ftransact&reset=1&id=1&action=preview
If I edit these URLs to replace "civiwp" with "page" they work fine.
Bug, or am I doing something wrong?
Seems to be related to this announcement: https://civicrm.org/blog/kcristiano/civicrm-526-and-wordpress-important-notice
Update: nothing in the Civi log.

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


What should be synced to an accounting package from civicrm? My church uses Aplos Accounting. It's a web-based accounting package aimed at non-profits (www.aplos.com). They have recently implemented an api (www.aplos.com/api). I am interested in doing some syncing from Civi to Aplos to automate some things.

Our thoughts were to have an extension that implemented a scheduled job that would run daily and create a Civi accounting batch for the previous day. That batch would include all financial transactions that civiCRM processed that would be deposited into the bank account.

That total would then be posted to Aplos as a Deposit transaction with the Civi Accounting batch ID located in the comments of the transaction. That way if there was ever any question we could cross reference between the two.

Also, if a refund is processed through Civi then that would be posted as a Debit to Aplos with the Payee just being REFUND and in the comments it would notate the details.

What are you thoughts on this and do you have suggestions?

Tommy,

I think an extension is a good idea, but a quick glance at the aplos API and it looks like aplos wants each transaction mapped to an aplos contact id.  This seems like a lot of work that is not necessary.  My advice is to see if you can upload a batch at a time through CiviCRM export (maybe a custom search or report) and see how that works first. the effort level will be a lot less.

I don't know aplos, but many of the small accounting packages assume that they are the transaction system of record and need the contact id passed with each transaction - this appears to the case with aplos.  What you are asking is for a batch transfer with CiviCRM as the sub ledger and using Aplos as the general ledger.  This works fine with larger systems like Dynamics.  I don't see any aplos documentation on JE imports and my guess is that they have not implemented it yet.

it would be a great extension and many we get aplos to fund it (seems like a biz dev opportunity for Josh of the core team)


CiviCRM Profile / new contact: is there a way to automatically update the Source Field? I set up a Profile which collects contact information for new supporters. It automatically creates a new contact record, but I'd like the CiviCRM Source field to be automatically filled in (e.g. Petition Signer). Also, it would be nice if it automatically triggered a thank you email. Is there a way to do these things? Thanks much for a great product!!

If you are using Drupal, Webforms give you full control over these things.


Dashboard does not render after updating civi version 4.6.9 to 4.6.10 and onwards to 4.6.11 I had two sites that both rendered the dashlets in the dashboard correct. When I upgraded the civicrm version from 4.6.9 to 4.6.10 that changed. Now I have two sites running civicrm 4.6.10 with joomla 3.4.6 as CRM.
In one the dashboard is rendered correctly, in the other the dashboard keeps loading when one or two dashlets are active. When there is no dashlet active the page renders correctly.

So two sites with the same cms-version, the same server (PHP 5.5.30), the same civiversion. Both are sub-domains. One renders dashlets one does not.
I tried both with acl-rights for joomla and for civicrm set to superuser.

Update to 4.6.11 did not change anything on this issue.

When I set Joomla error reporting to max neither reports anything wrong.

I read loads of post with advice on non-rendering dashboards. Cannot find something wrong after reading these.

Any advice?
Thanks,
Paul.

sounds like a cashing problem.
Not showing up dashlets usually can have 2 causes:

Settings are wrong:

Administer -> System Settings -> Directories
Administer -> System Settings -> Resource URL's
Administer -> System Settings -> Cleanup Caches and Update Paths

Cache files

Because it used to work in 4.6.9 I would guess "Cache Files".

Remove cache via
Administer -> System Settings -> Cleanup Caches and Update Paths
and remove files in JOOMLA_ROOT/media/civicrm/templates_c/


Multiple Conditions for Scheduled Reminder We have scheduled reminders working for us. However we need some that have multiple conditions. For example we have custom fields set up for an activity for recording wedding details and we need to send a scheduled reminder 3 months before the wedding date if the couple are not living in our parish.

Is this possible?

I do not think you can do this with Scheduled Reminders. The CiviRules extension (https://civicrm.org/extensions/civirules) might be able to help you out. Some examples at https://docs.civicrm.org/civirules/en/latest/basic-example-introduction/

Having said so, I do not think there is a time comparison yet that will allow you to look forward as we have never encountered this. That will mean you will have to add this to CiviRules or have an expert do this for you. More information about extending CiviRules can be found here https://docs.civicrm.org/civirules/en/latest/create-your-own-introduction/.

Find yourself an expert on the CiviCRM home page if you need it, or let me know if you want me to take this on.


Migrate from Drupal To Joomla I have completed the following steps:

sql backup civicrm database from Drupal
create fresh joomla install (3.6)
install fresh civicrm (4.2 - same as on drupal install)
import and replace civicrm tables from sql backup into the Joomla database

all seemed to be going well, but now when I log into the admin area I am getting a white screen stating

    Sorry but we are not able to provide this at the moment. DB Error:
    unknown error Return to home page.

it then logs me out,

when i check the error_log on the server it states:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20121212/gd.so' -

  /usr/local/lib/php/extensions/no-debug-non-zts-20121212/gd.so: cannot
  open shared object file: No such file or directory in Unknown on line
  0

also, in PHPmyadmin when i try to edit a civicrm table i get the following error:

  #1449 - The user specified as a definer ('civicrm'@'localhost') does not exist

if anyone can advise on how to correct please advise :-)

thanks in advance.

I'm assuming this is a new server as well. The first sounds like a PHP issue - some kind of mismatch for the GD extension in php.ini or php-gd rpm package is not even installed. When I say extension I mean PHP extension, nothing to do with CiviCRM other than GD might be used by CiviCRM, but it's usually installed by default. In joomla admin you can go into site system information and see the output from phpinfo to see if it's installed.

The second is probably a mysql trigger/view issue, where you have a different mysql user for your joomla database than the one that created the original civicrm trigger/view. You can either create and use the same mysql user (civicrm@localhost) for your database, or recreate the trigger/views manually. A third option is start again and edit the sql file and edit the part of the trigger/view creation that sets the definer before you import it to the mysql user that you are actually using.


How do I allow registration for one day of a multi-day event? A use-case has come up where there is a need to hold a multi-day event where participants can register for "One day only". So if the event was Wed, Thurs & Fri, they could choose "Friday only" at registration.

I am thinking that Price Sets handles this nicely, although the rest of the event confirmations, reminders, etc. would not acknowledge that they are only attending for one of the days.

Anyone have experience with this or ideas beyond just using price sets?

I have successfully used price sets for exactly that purpose.

You can customise the event confirmation/receipt at Mailings > Message Templates > System Workflow Messages.   These are written using Smarty.

{if $event.id  eq 'XX'} will let you selectively customise the receipts for a particular event.

{if $line.label eq 'Friday only'} should let you customise at the individual line item level once you are in the line item loop.

For scheduled reminders you may be able to use Search Builder to create smart groups based on the fee label and so send different reminders depending on the day(s) of attendance using "Limit to - Group ".


ACHEFT-Debit possible with webform_civicrm? Webform CiviCRM module can do credit card payments - but what about ACHEFT-Debit?

That is now possible! For both CAD and USD.

Pull latest webform_civicrm module:
git clone https://github.com/colemanw/webform_civicrm
Pull latest iATS Payments extension:
git clone
https://github.com/iATSPayments/com.iatspayments.civicrm

Example of USD Checkout:


MembershipEndDate not exposed in Search Builder I had hoped to use Search Builder to find memberships where Membership End Date was between certain ranges, but in 4.7.25, this field isn't available, although Membership Start Date is.

Am I missing something? Is there a reason that Membership End Date isn't available?

It's present, but for who-knows-what-reason, it's labeled "Membership Expiration Date" in Search Builder.

However, before you go celebrating, in 4.7.25 there's a bug CRM-19998, which says, "Membership start / end date have no effect in Search Builder".

The GOOD news is that a fix was written for this.  It was merged yesterday.  The bug tracker says it's in Civi 4.7.27 - but next month is going to have a slightly unusual version release, so I suspect this is actually coming in 4.7.28, on December 6, 2017.  If you need it today you can manually apply the fix.


Manually Upgrade Extension I wanted to upgrade my Mosaico extension to the latest version. There was no upgrade link on the extensions screen so I downloaded the latest release and replaced the source files. However, the version number is still corresponding to the previous files. Do I need to do anything else to notify Civi that the files have been updated? I know in Drupal you would normally run the database update, but I don't know if there is something similar in CiviCRM? I couldn't find any documentation on a manual upgrade process.

I am running CiviCRM version 4.7.28.

I would suggest you to uninstall the previous version first and then to install the new version - just replacing the files will not do anything.

So, Please replace your previous version of extension in the extension folder - and uninstall it first.

Then do replace your new extension and install the same - that should work as you excepted

Ref: https://docs.civicrm.org/sysadmin/en/latest/customize/extensions/

I guess this helps !!!!


Install or upgrade CiviCRM using Composer 2? Has anyone documented using Composer 2 with an install and/or upgrade of Drupal 8 + CiviCRM?
I'm getting this error:
    - civicrm/composer-downloads-plugin[v2.0.0, ..., v2.1.1] require composer-plugin-api ^1.1 -> found composer-plugin-api[2.0.0] but it does not match the constraint.
    - civicrm/civicrm-core 5.30.1 requires civicrm/composer-downloads-plugin ^2.0 -> satisfiable by civicrm/composer-downloads-plugin[v2.0.0, v2.1.0, v2.1.1].
    - Root composer.json requires civicrm/civicrm-core 5.30.1 -> satisfiable by civicrm/civicrm-core[5.30.1].

It should be possible to do any one of these:

Use CiviCRM 5.31+. The error message above suggests it is using 5.30.x, which has older metadata. (Compare: 5.31's composer.json vs 5.30's composer.json)

Stick to composer v1 for as long as you're using an older version of Civi.
composer self-update --1

In the future, after you switch to a newer version of Civi (eg 5.31+), you can continue to composer v2:
composer self-update --2

Coerce the versions. Tell composer to install a new version of composer-downloads-plugin (v3.0.0 -- which supports composer v2) and pretend like it's an old version (v2.1.99 -- which is expected in civicrm-core v5.30). Command:
composer require 'civicrm/composer-downloads-plugin:v3.0.0 as v2.1.99'

In the future, after you switch to a newer version of Civi (eg 5.31+), you should edit composer.json and remove the coerced constraint. Otherwise, you may see weird behavior.


Non-administrators unable to tag contacts using Tags tab redux I'd like to draw attention to a flaw in the ACL permissioning. I'm a volunteer setting up a national database for a new non-profit, but I want non-admins to be able to edit the data for their state and not others. I got that to work using smart groups and the ACL system (yay!). The flaw is that non-admins can't tag contacts. I'm not talking about administering tags...they can't add an existing tag to an existing contact. The permission edit_all_contacts is required, but that ruins the state level permissioning. This is a serious flaw that defeats the benefits of the ACL system. This issue was also documented in June: Non-administrators unable to tag contacts using Tags tab In that case, it was Drupal version: 7.37. CiviCRM version: 4.6.3.

I'm using 4.5.8 and the current versions of Wordpress and the Members Plugin. Our org is new and we can't afford much at this point, but we plan on contributing to ya'll once we're up and running. Thanks for the great software and I look forward to your reply!

I can't really see the use case where "Edit All Contacts" should be required for adding a tag.  I think this is something that should be changed.  So the solution is to submit a patch or ask a developer to do so.

Now, I'm not part of the CiviCRM core team - but I do submit patches like this one on behalf of my clients.  I'm pretty slammed, but I'll make you an offer.  If your organization is willing to join the CiviCRM Membership Program, I'll volunteer to fix this in an upcoming version of CiviCRM - and to help you install a personalized patch so you don't need to wait until you upgrade.

If this is amenable to you, please:

File an issue for this at https://issues.civicrm.org.  Reference this question, and mark the "Funding Source" as "Contributed Code".
Add a comment on this answer linking to your new issue.
In 1-2 days, the core team will reply.  If they agree that there's no legitimate case for "Edit All Contacts" permission to create tags, you'll join the membership program.
I'll ask the membership coordinator to inform me when this happens.
At that point, I'll develop a patch, submit it to the core team, and work with you to get it working on your system.

Please let me know what you think!


Is 'developer' tab in Reports now a deprecated feature? In Civicrm 5.4 and in current version in WP Sandbox, it seems that the 'Developer' tab is no longer shown. What is the replacement/suggested method for adding a column to reports now?

To view developer tab for the report the user will need 'CiviReport: view report sql' permission. This is new permission added in recent version of CiviCRM for broader access control.

You can set permission by navigating to CiviCRM >> Administer >> Users and Permissions >> Permissions (Access Control) >> WordPress Access Control

HTH

Pradeep


Contribution status for tax deduction? This is a question on best practice I think:
To get tax deduction for donations in Norway, the NGO has to send a report to the tax authorities (as in addition to the donor itself)
In addition to donation data in CiviCRM, we also have data from other systems. The money from those donations are already recorded in CiviCRM as they are paid out collectively at the end of the month.
Now I want to import the donations from the other systems into CiviCRM so that I get a full and accurate report for the tax authorities.
But I do not want to have the donations to be summed up double, as the transactions are already recorded.
My idea was to add another contribution status like «tax deduction» on those contributions from the external systems.
And then I could edit my tax report to include both contributions with status Completed, and Tax deduction.
And the rest of the donation reports in CiviCRM will generally be unaffacted, since they all look for contributions with status Completed.
Anyone has any thoughts on why or why not this is a good idea?

So if I'm understanding this correctly, you currently have monthly collective totals in Civi and now want to import the detail behind those so you can do reporting at the individual level.
If you have the individual level detail to import, do you still need the monthly entries?  If not, just delete the summary ones and import the details.
If you do want both:  you suggest adding a new contribution status.  There is a lot of logic based around those statuses and I wouldn't mess with that.  But slightly changing that idea you could add a new financial type such as 'imported-monthly-total'.  Then change those monthly totals to this new type so that you can import the detailed data and in the tax reports be sure to filter by financial type to exclude 'imported-monthly-total'.


CiviMail and unsubscribing from smart group Using CiviCRM 4.5.8: It is my understanding that when an email recipient unsubscribes from a message sent (via CiviMail) to a smart group, then that person will be detached from that smart group and will receive no further messages sent to that same smart group.  For some reason this is not working for me.

Example: I have GroupA defined as the parent of Subgroup1 and Subgroup1. GroupA itself has no members (a listing of GroupA shows each member with a status of "smart"). All three are defined as mailing groups, and a mailing to GroupA goes to all members of Supgroup1 and Subgroup2, as desired.  Each outgoing message contains this HTML code:

To unsubscribe from this mailing list, click here.

When a recipient in Subgroup2 clicks on this link they send an email message to a system-generated address, which is processed (normally, apparently) by the CiviBounces cron script.  In return they get this odd message:

You have been un-subscribed from the following groups: {unsubscribe.group}.

That "{unsubscribe.group}" above is exactly what they see.  Normally I'd expect to see "GroupA" (or perhaps "Subgroup2") here, but it's just the raw token name.

The cron job doesn't pitch an error, and the recipient's database record remains unchanged.  Without manual intervention they will get subsequent messages to GroupA, which does not endear them to my organization.

What would cause this behavior (and how to set things right)?

It looks like your smarties aren't being replaced when the message is being sent.  The link should have a url to your civi something along this line:

http://www.yourcivi/civicrm/mailing/unsubscribe?reset=1&jid=516&qid=102338&h=b0636ed456c5e1f5.

(That is assuming the link you reported is from an actual message that someone received and not what you have in the template or footer in civi.)

Do you have smarties enabled in your civicrm.settings.php file?

define( 'CIVICRM_MAIL_SMARTY', 1 );

See http://wiki.civicrm.org/confluence/display/CRMDOC/Smarty+in+mail+templates


How to add a checkbox like "I agree following terms & conditions..." I would like to add a mandatory checkbox on one of our event registration page. How can I do that please?

You can definitively do that with a custom field! Custom Field -> Used for: Participants -> choose Field Type: checkbox; make one multiple choice option (Label: 'I agree to the terms and conditions'); or: Label: 'Read, Understood and Accepted'.

Stick this new Custom Field into its own profile (so it can can have its own pre-form and/or post-form 'help' i.e. Terms and Conditions) -> make it required (in the profile) so users can't proceed without agreeing/checking the box.

Finally -> stick that profile into your Event Registration page (Event Config -> in the Online Registration tab).


Problem with CiviCRM configuration (auto_increment) with wordpress (4.x) website According to the folks at Network Solutions (our website hosts) the plugin (CiviCRM 4.7.4) was installed.
They had to do a MySQL upgrade database as part of “routine” updates also.  The MySQL upgrade
went fine in that it did not crash our website or cause us to have to make any repairs to the info on the site.
The configuration of CiviCRM is where the problem lies.  According to Network Solutions, there are requirements
that the CRM needs that are blocked on the MySQL server as potential security issues.  They said an “auto_increment_increment” needs
to be set to 1.   So there is my dilemma. Any suggestions?

Your hosting environment sounds unsuitable for running CiviCRM - CiviCRM does have some additional requirements beyond other PHP/MySQL apps like Wordpress and Drupal.

There are some places in CiviCRM code where it expects the database to increment IDs by 1. Where MySQL is running with eg replication, this will not be the case. There are also places where CiviCRM has checks for such settings, which are mostly to protect you against unexpected outcomes - even if there's no hard requirement for that setting to be the way CiviCRM "wants" it to be.

For your needs, the simple solution is not to address replication or patch CiviCRM, but simply to obtain hosting which is compatible with CiviCRM. Unless you are heavily invested in the existing hosting, switching hosts to someone who knows & works with CiviCRM will be a much more straightforward solution than trying to make CiviCRM and that hosting service work together ...

CiviCRM's page on hosting (not an advert, just trying to save you time, money and grief)

For more technical detail, there's a related question from a site which specifically wanted to use MySQL replication + CiviCRM together - JIRA issues linked there:

MySQL Master-Master Replication on 2 servers


How can we run a report that doesn't split records into multiple entries? We want to run a report on the enquiries/feedback and the outcomes and signposting that result from each one. However, when we run a report it splits each record entered into individual records for 'Enquiries/Feedback', 'Outcome', 'Signposting' etc so they are not joined up and therefore we cannot see what the outcome was of an enquiry or where it was signposted to. How can we do this?
Many thanks

I'm going to guess that these fields containing "enquiries/feedback and the outcomes and signposting" are either custom contact fields with multiple entries or activities. In either case, you probably want to use the report grouping feature to group by contact (e.g. by contact id), that would likely get you closer to what you want. If you sort by id or date of these other things, then you might get a nice chronological display per contact.

If you want a fancier display, you'll likely have to write a custom report.


Controling the order on wordpress contribution pages I have a contribution page for membership signup, dues and other member information. It is a "on behalf of an organization" style membership. Right now, the form displays the fields in this order

membership pricelist
"on behalf of organization" details
wordpress account creation
and 5 - 2 other profiles I've added using the "Profiles" capacity of contribution forms.

Is there a way to have the order instead be 4, 5, 3, 2, 1? Should this be done through CSS or is there a better way? The "order" field doesn't seem to do much in this regards.

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

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

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


Using the extension CiviVolunteer, assigning a volunteer to a company, not an event The latest stable version of CiviVolunteer creates a volunteer allows to assign volunteers to events. The documentation says "The features for this release focus on volunteering at events, but the design creates a foundation for adding support for volunteering in a wide variety of situations"

Not being a programmer, I am wondering if it is possible through a workaround to assign volunteers to organisations instead of having to assign them to an event.

Earlier this year, the CiviCRM community crowdfunded $30,000 to build CiviVolunteer 2.0, which includes the functionality you're describing.  See here: https://civicrm.org/blogs/ginkgofjg/civivolunteer-20-whats-in-the-works.  The beta version should be out in 4-5 weeks.

For now, the workaround is to create a bogus event to attach volunteers to.


CiviMember Sync with Wordpress usernames How can I add a bulk operation to give certain individuals a membership on CiviCRM? for example, from a group
I want to sync those who are given memberships to give them a wordpress user accesss (already configured that).
BUT when I sync them now, the username would the individual's prefix, first name, middle name, last name (ex. Mr-john-joe-smith), which is too long. how can I make the format for the usernames?
what would the default password be for the synced membership users afterwards?
CiviCRM syncs wordpress users to another individual that doesn't have to do anything with their name, email, phone number. How can I fix that before making the bulk operation.

How can I add a bulk operation to give certain individuals a membership on CiviCRM? for example, from a group

I'll defer to someone with deeper knowledge of CiviCRM internals on this one. It's a separate question, really, which you may want to post as such.

  I want to sync those who are given memberships to give them a wordpress user access (already configured that). BUT when I sync them now, the username would the individual's prefix, first name, middle name, last name (ex. Mr-john-joe-smith), which is too long. how can I make the format for the usernames?

Please refer to this thread on GitHub which provides a technique for you to define your own username format.

  what would the default password be for the synced membership users afterwards?

Newly-created WordPress users can set their own password by visiting the WordPress "Lost Password" screen.

  CiviCRM syncs wordpress users to another individual that doesn't have to do anything with their name, email, phone number. How can I fix that before making the bulk operation.

I think others have answered this elsewhere.


How do I schedule a mailing to run in a couple of hours time with the CiviCRM API? I'd like a delay before sending out an automated email.

API call as per stack exchange question.

The data passed as $params seems OK. 2 hours in the future.

The database has the correct time.

The user interface says it is sending it now and the mailing actually does get sent now.

Can you double check if the other mailings have the same time in the database and in the UI? It's quite common that one or the other is not taking into account the same timezone, ie if your UI is assuming your database at GTM and your user is at GMT+2, it's normal it starts right away (or the other way around, timezones are always confusing ;)

X+


Test Payments showing Incomplete Transaction (CiviCRM 5.8.2) While building out a transition plan from Drupal to Wordpress, after getting CiviCRM setup on Wordpress, I tried making a test contribution. However, all attempts resulted in Pending (Incomplete Transaction) despite showing as successful in the sandbox.
As part of troubleshooting, I tried making a test contribution on the production site (which is the one currently running Drupal) since I had previously made successful test contributions. However, this too lead to the contributions being marked as Pending (Incomplete Transaction).
One thing to note is that "Real" contributions have still been coming in fine on the production site.
I'm aware that there was an issue previously per this StackExchange post, however it appears that should have been fixed in 4.7.30, whereas I'm running 5.8.2 (both on the production and dev sites for obvious reasons).
No errors seem to be showing relating to this in any of the error_log files on the production or dev site.
Any further troubleshooting advice would be greatly appreciated.
Additional Information
I'm using Paypal Standard.

Since you are using paypal standard then I believe it requires to setup IPN call back url for CiviCRM to get response from Paypal and process the contribution status.

Here is the document how to configure IPN(Instant Payment Notification) at Paypal.

HTH

Pradeep


Civimember: token for membership end date not working We are having a problem in setting up our Scheduled Reminders for Membership Renewals. The reminders are sent out as scheduled, but the relationship between Contact to Membership (which is through a foreign key in the database) seems to be broken as far as inserting tokens into the renewal email.

For example, adding lines to our Expiration Template like:

Paid thru: {membership.end_date}
Member since: {membership.join_date}

only replaces the tokens with blank in our email tests.

I found this reference from 2015 in the old CiviCRM Community Forum, but am re-posting here. I can't believe this is an unresolved issue. I use other membership software, like aMember PRO, and this is one of the most basic functions in renewal reminder emails.

If it has been resolved, please point me to a solution. My searches in this Stack Exchange haven't worked for me.

Thanks for any help!

I'll call this an answer, only because it worked. I discovered this link after googling around. civicrm.org/extensions/nzcofuzioncivitoken
After installing the extension, my Expiration Template now contains:

  Your membership is paid thru: {latestcurrentmembership.allend_date}

  Member since: {latestcurrentmembership.alljoin_date}

Since this seems a practical necessity for Membership-related Scheduled Reminders, I updated the documentation for Membership > Renewals to point to this extension for others who wish to associate membership information to the contact in the reminder.


System Status Critical, blank System Status page After upgrading to Civi 4.7.29 on WordPress 4.9.1, it says System Status Critical (see screenshot at the bottom of this post), but the status page is blank.

The developers console in Chrome has a lot of messages similar to this:

GET https://mysite.org/homepages/34/d1234578/htdocs/tcp-wp/wp-content/uploads/civicrm/ext/org.civicrm.shoreditch/css/bootstrap.css?r=sZzwI net::ERR_ABORTED

I found this suggesting changing directory permissions to 755,
which I did for /wp-content/uploads/civicrm/
but it doesn't seem to have helped.

After the upgrade, I got this warning, which may be significant. However, to me these two look like two ways of saying the same thing. However, I'm not sure what I might be looking for in the htaccess file.

There appears to be an inconsistency in the configuration of "Image Upload URL" and "Image Upload Directory".

imageUploadDir: /homepages/34/d12345678/htdocs/tcp-wp/wp-content/uploads/civicrm/persist/contribute/
imageUploadURL: http://mysite.org/homepages/34/d12345678/htdocs/tcp-wp/wp-content/uploads/civicrm/persist/contribute/
You may need to check that:

(a) the path and URL match,
(b) the httpd/htaccess policy allows requests for files inside this folder,
and (c) the web domain matches the normal web domain.
(Note: Although files should be readable, it is best if they are not listable or browseable.)

If this remains unresolved, then some important screens may fail to load.

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

Tried updating resource URLs as suggested by fdarn.  Now when I click on CiviCRM on the WordPress dashboard, I get the screen shown below.  Clicking on "Configure Your Dashboard" doesn't seem to do anything.  Clicking on CiviCRM in the upper left takes me back (see red arrow below) to basically the same screen, but without that link.

Any suggestions or enlightening explanations of what's happening would be most welcome.

Can you check Directory and Resource url settings if the paths are entered correctly.


Moving CiviCRM from Windows to Linux I created a CiviCRM database locally on my windows machine on Wordpress. I am using a linux webserver to which I would like to move the data. I think there should be no issues in moving the data using phpmyadmin. Will there be any issues due to difference in OS ?

https://wiki.civicrm.org/confluence/display/CRMDOC32/Moving+the+database+using+phpMyAdmin

What other issues can be expected due to this movement?

If Drupal you need to update the temporary files folder under Administer - Configuration - File System, and possibly in the files table you might have paths using a backslash that need to be converted.

Also even for non-drupal for the windows to linux direction pay attention to capitalization for any file paths. Linux is case-sensitive but windows is not.

And your civicrm.settings.php file may need updating for backslashes and capitalization.

File permissions and file/folder ownership also tend to be more varied on linux. You may have to grant permission to the web server (see e.g. Are there recommended directory ownership and permission settings for CiviCRM files?)


Can't create more than 26 events in CiviEvents (or view on dashboard) No matter what I do, I can't create more than 26 events in CiviEvent. It seems this might have happened in the latest CiviCRM update because I already have more than 26 events, but only 26 are visible in the dashboard.

I created a fresh install of Joomla 3.7.2 and CiviCRM 4.17.19, then imported in my civicrm_event table with around 100 events and the problem still exists.

I removed all the events from the table except 25 of them. Then I was able to create one more event. After that, I only got this error when trying to create or duplicate an event:

Permission error trying to create new event or copy existing

If I delete an event, I can create a new one up to 26 (no matter the ID). If I import 100 events into the civicrm_event table, only 26 of them will appear on the dashboard. If I delete one of the visible events, one of the "invisible" ones will appear.

I have a test site set up and can share access if someone can take a look at it.

This answer is from @SeamusLee at Bugreport: Impossible to create more than 25 events

"I would recommend you apply the patch here https://github.com/civicrm/civicrm-core/pull/10325 There is a default limit on API calls to 25 records which is what your probably hitting here

Seamus"


civirules extension -- send an email, SMS or PDF actions not available I've installed the CiviRules extension but I am missing some actions that I thought to be built in.  Send an email, SMS or PDF actions are not available.

Linked Trigger: Address is changed
Linked Conditions: None

See screenshot.

Drupal version - 7.41
CiviCRM - 4.6.10
CiviRules - 1.1

Those come in separate extensions. You'll need to install these:

https://github.com/CiviCooP/org.civicoop.smsapi / https://civicrm.org/extensions/sms-api
https://github.com/CiviCooP/org.civicoop.pdfapi / https://civicrm.org/extensions/pdf-creation-api
https://github.com/CiviCooP/org.civicoop.emailapi / https://civicrm.org/extensions/e-mail-api


Display Contact Addressee as {prefix} {Initial} {last_name} Hopefully self explanitory.

I want to extract the initial from the first name (if there is one) e.g. Mr John Smith appears as Mr J Smith as default.

Would be grateful for any help on this one.

You can alter the 'Individual Display Name Format' in display preference to include {initial} token through custom extension using tokens and tokenvalues hook.
If you don't want to store this in the database and just alter the display on screen then you can use contact_get_displayname hook to alter the display name.
Pradeep


CiviMobile: Minimal Permission for CiviMobile i am testing out CiviMobile deployment with my CIVICRM (Wordpress 5.0 CIVICRM 5.13) and wanted to see how the app works with a log-in account that has restricted access to selected records in the CIVICRM server.

I have set this account to the CONTRIBUTOR account in WP to differentiate it from the ADMIN account.  And to CONTRIBUTOR role i added the following CIVICRM permissions on top of the default:

CiviCRM: view my contact
CiviCRM: access CiviCRM backend and API

TESTUSER is the test account used and added to the CONTRIBUTOR role.

I did the access control by only adding TESTUSER to a access control GROUP that is allowed to access a group of records.  TESTUSER was able to access only the intended GROUP of records when loggin into the Wordpress site with just the PERMISSION 2 listed above.

I tried with by logging into CIVIMOBILE, it complained of not sufficent permission so I added PERMISSION 1 and was able to login.

When logged in, i was able to view profile and calendar of the logged in account OK but not able to do so for the accessible records. Their names will appear under CONTACTS but when clicked will complain "PERMISSION REQUIRED"

However, with the same permission set, the SUMMARY page of details for the record is accessible when using the TESTUSER account to log into Wordpress to view the record.

It seems that there might be further permission required to be given to the ACCOUNT that is using CiviMobile to access a restricted set of records.  What would those permissions be?  Thanks.

This question is answered here:
https://lab.civicrm.org/extensions/civimobileapi/-/issues/41


Could not find a valid session key when submitting opt out and unsubscribe forms Using Drupal 7.39 and Civicrm 4.6.9 -

When submitting or cancelling the opt out and unsubscribe forms for anonymous users, I'm getting a 'could not find a valid session key message'. This does work however for authenticated users.

My site is fully SSL running off cloudflare. I have checked the following:

Resource urls are correct.
Base url is correct.
Cleared caches.
0 user id in the database.

Can you help?

Check that your webserver serves correct cache headers when accessing the unsubscribe URL. It sounds like CloudFlare is caching the forms your CiviCRM install generates, and so a later anonymous visitor is seeing an expired form.

While CloudFlare offers additional ways to customise what gets cached, using standard HTTP cache headers is your best bet because it works the same for CloudFlare and other caches your userbase might encounter (ISPs, corporate proxies, whatever).

By default CiviCRM seems to set appropriate cache headers which tell CloudFlare not to cache forms, including unsubscribe forms.

Let's see if CiviCRM sets cache headers suitably on an unsubscribe form. I searched my email for civicrm/mailing/unsubscribe to find an example URL.

Fetch just the page headers using curl -

$ curl --head "http://example.org/civicrm/mailing/unsubscribe?reset=1&jid=XXX&qid=XXX&h=XXXXXXXXXXXX"

And check that you see headers in the response that should prevent CloudFlare caching that page:

HTTP/1.1 200 OK
Server: nginx/1.6.3
Date: Tue, 13 Oct 2015 18:08:55 GMT
Content-Type: text/html
Connection: keep-alive
Vary: Accept-Encoding
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0
X-Micro-Cache: MISS

The interesting headers here are Expires (in the past) and Cache-Control (no-cache).

You can compare those results to headers returned by your CiviCRM site for a similar request. Test using the URL that connects directly to your site, not using the CloudFlare URL, and confirm that appropriate cache headers will be set for requests to those URLs on your server.

It might be that you have some other customisation or module which changes the cache headers for CiviCRM URLs, and that would then lead CloudFlare to believe that the forms should be cached.

FWIW, we use CloudFlare on a few sites, and have no custom page rules in place; as far as I know it's worked with no special tweaks.