Options for monthly payments and annual payments on same contribution page I am using civicrm 4.6.1 on Drupal 7.3.5.

I need a contribution page that lets users choose between annual memberships and monthly "sustaining" membership payments. I have set up price sets and membership types for each, but I can't seem to get both price sets on the same contribution page.

If there is not a way to do that, do I set up a contribution page for each and send my members through a screening page?

Thanks

You could make a single priceset which is capable of accepting the various combinations that are possible, then implement a design which provides a different UI for selecting the preferred amounts.

An example CiviCRM membership/donate page which implements a similar approach is the one at http://greens.org.nz/join - the visible elements trigger changes in (hidden) CiviCRM form elements to deliver the required user experience.

CiviCRM permits you to ensure a minimum amount on the contribute form, but that won't account for the combination of payment term and amount. With a small extension you can implement any validation required to ensure the correct amounts are paid (so a user can't submit the form with a cheap annual membership).


civicrm dashboard menu does not work in Joomla I have installed Joomla on CentOS 7, and then CiviCRM 5.9 on top of that. If I install a CRM dashboard menu I get an error message "Requested page can't be found". (I tried logging on to Joomla as the administrator, but the error still occurs. Do I need to create / log in as a different user?)

Additional error message text is as follows: '  @import url(/joomla/components/com_civicrm/civicrm/css/civicrm.css); @import url(/joomla/components/com_civicrm/civicrm/css/crm-i.css); @import url(/joomla/components/com_civicrm/civicrm/bower_components/font-awesome/css/font-awesome.min.css);    Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred. You do not have permission to access this page. Return to home page.    function toggle( element ) { var parent = element.parentNode; var className = parent.className; if ( className == 'crm-accordion-wrapper collapsed crm-fatal-error-details-block') { parent.className = 'crm-accordion-wrapper crm-fatal-error-details-block'; } else { parent.className = 'crm-accordion-wrapper collapsed crm-fatal-error-details-block'; } } '

From what I can see, the addition of the CRM dashboard menu should have worked straight out of the box. Am I missing something here?

Any advice would be most appreciated.

You are right that it should work out-of-the box. This might not be the full solution, but your error is showing that the URLs are missing /administrator (that is, /joomla/components/com_civicrm/civicrm should be /joomla/administrator/components/com_civicrm/civicrm) so I think you are affected by this issue: https://lab.civicrm.org/dev/joomla/issues/5

Try changing 'CiviCRM Resource URL' (in Administer > System Settings > Resource URLs) from [civicrm.root] to administrator/components/com_civicrm/civicrm/.

I suspect there will still be something else to solve but try that to begin with.


Upgrading from 4.2.6 to 4.6.8 we've been running CiviCRM 4.2.6 for a number of years now on Drual 6 and I've finally got round to upgrading. Has anyone here gone from 4.2 to 4.6? Any gotchas that you hit?

I've run the upgrade on our test Drupal 6 site and once MySQL permissions around triggers were sorted the upgrade ran through fine.

I'm keen to hear other peoples experiences.

Em

CiviCRM 4.6 officially supports direct upgrades from versions as far back as 4.0.8, so you fall within that window.

If you've already done a trial run on your test site and everything checks out, I'd say you're good to go. Back up your live site just prior to running the upgrade.

If the core upgrade works fine, then the biggest concern about things that could go wrong is with integrations - if your site has any custom code, modules or extensions related to Civi, be sure to review them to ensure they still work with the latest version. I would do thorough testing on your test site first.


Events Payment - quirky scenario Can anyone assist with the following scenario please...

Our organisation conducts training events, the fees for which are calculated at a fixed price per trainer - not by the number of students that attend. So regardless of whether or not 10 or 25 students attend, the fee is the same, which is actually not paid by the students themselves but rather a 3rd party organisation after the event is completed.

It may be worth noting that we are using CiviCRM as more of a historical database as opposed to a online registration/payment system, and generally all data (contacts and event) will be entered manually after an event takes place.

As I am typing this I am thinking that perhaps a manual (gulp!) workaround is to just divide the event fee by the actual number of students that attended the event and set this as the event amount when the data entry is taking place....?

So I'm not sure how best to configure an event to allow for $0 to be paid by the student, but I'd like to see a $ value for the overall event a summary report somehow.

Make sense? Is this possible to do?

Thanks, Joe.

Check out what you can achieve by using the Batch Update by Profile process.

Create a Profile that has the Fee Amount field for Participants.

Go to Find Participants. Search for those that attended your event. Under Actions click on Batch Update by Profile.

You should then be able to enter the required amount for the top row, and use the 'photocopy' icon above the Fee Amount column to apply that to all Participants.

If you want to record the 'total cost' of the event you could also look at adding a Custom Field on to Events and use that to record the total cost of the event.


Relationship disabled by end date but still enabled? Scheduled  Disable expired relationships has run succesfully according to the date/time I see in the Scheduled job table. I see a relationship in the disabled relationship section that has an End date older than today, so that seems to work. What I don't understand is that it is still marked "Enabled" in view and edit.

Also when I do an api call on the relationship mentioned before it returns it as an active relationship even though it is expired:

$result = civicrm_api3('Relationship', 'get', array(
  'sequential' => 1,
  'is_active' => 1,
  'id' => 56276,
));

Response:

    {
    "is_error": 0,
    "version": 3,
    "count": 1,
    "id": 56276,
    "values": [
        {
            "id": "56276",
            "contact_id_a": "24943",
            "contact_id_b": "20992",
            "relationship_type_id": "14",
            "start_date": "1995-01-01",
            "end_date": "2004-01-01",
            "is_active": "1",
            "description": "Support Branch",
            "is_permission_a_b": "0",
            "is_permission_b_a": "0",
            "custom_24": "Res",
            "custom_71": {
                "S": "S"
            },
            "custom_71_26513": {
                "S": "S"
            },
            "custom_24_26513": "Res"
        }
    ]
}

How should I understand this? As a bug or a feature? What does the "Enabled" tick box in fact mean? Should I understand it as separate from the start and end date as kind of "override" function?

CiviCRM version is 4.6.27. In case it was a bug, has it been fixed meanwhile?

The "Disable expired relationships" scheduled job should set the is_active field to 0 for relationships with a past end date.

  A bit of history: Civi has always treated both past and disabled
  relationships as "inactive" however there were inconsistencies in some
  of the code (reports maybe) that were not doing so. I believe Fuzion
  contributed the scheduled job to remedy this

(From a comment on issue CRM-18561. See also this forum post for some discussion.)

So it looks to me as though the scheduled job has failed in this case. If you view the job log for this job, are any errors shown? Or anything at the relevant time in the CiviCRM log file in files/civicrm/ConfigAndLog/ ?

Could you test whether the problem occurs on the 4.6 demo site?


Email On Hold? options It looks like there are two options for indicating that an email address in on hold.  Is there a way to add another option?  If so, how would I go about doing that?

If you want to record the person indicating their opting-in or opting-out then you could consider using an Activity for this purpose.


Dashlets on Dashboard displaying Not Found error Following an earlier question about a missing field in Views 3 I opted to go down the route of creating a completely custom report.

With this done and working correctly, I attempted to place it on the CiviCRM dashboard to be presented with a Not Found error (from my apache server). Expanding the dashlet opens the report correctly, oddly.

All dashlets are displaying a Not Found error. As this is the first time we have actively used this I cannot be certain if this ever worked, though I remember the default CiviCRM News dashlet having the same issue after the upgrade several months ago.

Is there anything anyone can suggest to get the dashlets working correctly?
Thanks

Not sure if this is solved, but we had the same issue running on a Debian server and the host was resolving the DNS name to the legacy site (we were testing). So to resolve the 404 errors on the dashlets, we had to enter a host entry in /etc/hosts to point the DNS name to the local IP address (instead of it resolving on the net to the existing legacy server IP).

If on windows, you'll need to do this in C:\Windows\System32\drivers\etc\hosts


How to collect user and billing email address at same time? I have a scenario where I am creating a membership form for minors, which is filled in by their parents. Therefore, I need to collect a 'billing' e-mail address which is different from the minor's e-mail address.

When I create a profile with an additional 'billing e-mail address' field in, it doesn't actually show up in the form.

Any ideas what I'm doing on? (using Civi for Wordpress)

At the moment contribution pages don't allow additional email addresses (they get stripped out). There is an open issue in JIRA but I believe it needs funding.


Getting counts of donors grouped into categories by giving amount Let's say I have these groups of donors:

Small donor, gave < $100 in the past year.
Medium donor, gave $100-500 in the past year.
Major donor, gave > $500 in the past year.

What's the best way to get a count of all these in one place?  My best thought is to create smart groups - then I'd need a report of "Counts by Group".  Does such a thing exist?  What if I use aggregation with a Drupal View?

AGH Strategies has written a report to do this, which is available as an extension: Donor Tier Report.


Profile disabled/not configured CiviEvent error Getting this error when anonymous users or users not login in try to register for an event:

  The requested Profile (gid=17) is disabled OR it is not configured to
  be used for 'Profile' listings in its Settings OR there is no Profile
  with that ID OR you do not have permission to access this profile

I have tried setting ACL in Civi for anonymous to register.

Following my comment, you get this error when you don't have necessary permissions of the profiles for anonymous users.

Required Permission -  profile listings and forms

register for events permission is needed if you get Access Denied on Event registration page.

More info on Civi Permissions:

http://wiki.civicrm.org/confluence/display/CRMDOC/Default+Permissions+and+Roles

http://wiki.civicrm.org/confluence/display/CRMDOC/Linking+Profiles#LinkingProfiles-PermissionsforProfiles(DrupalOnly)


Payment Processor for Authorize.net Server Integration Method (SIM)? Has anyone implemented a CiviCRM payment processor that uses the Authorize.net SIM method? (http://developer.authorize.net/api/)

The docs say that CiviCRM does not have support for this.

  At this time, CiviCRM only supports the Advanced Integration Method.

My reason for asking: the SIM method reduces our campus-policy compliance burden compared to the AIM method.

I don't think anyone has submitted a patch to enable SIM support for auth.net. Might be beneficial for you to investigate and see how much work might be involved in adding this to the current auth.net codebase.


Set up Contribution page to only accept recurring contributions? We would like to set up a contribution page that only accepts monthly recurring contributions. Is there a simple way to do this in CiviCRM?

This contribution page would be associated with a Campaign, and we would like to be able to use the contribution widget to display how many monthly recurring contributions we have received and count them towards a monthly contribution goal. For example, we would like to fundraise to cover a monthly cost, like rent, and set up the widget to display the total monthly cost, and the portion covered by monthly recurring donations.

We are using CiviCRM 5.6.0 with Drupal 7.

Black Fly Solutions has an extension called ca.civicrm.contribution_recur that enhances recurring contributions.  One option it adds is to force recurring payments, which should meet your first need.

The contribution widget only shows total contributions, not total of recurring contributions.  To show that you'd need a bit of custom work.


API Contact>DuplicateCheck Not Working? Can someone please verify that the API for contact>duplicatecheck is actually working?

In my case the UI will return 8 dupes, but the API will not return any.

It seems to be broken as of late. From what I understand, running duplicatecheck without any parameters from the API explorer "should" return all duplicate contacts using the default unsupervised rule (for individuals). I have checked the official sandbox for drupal and it does not appear to work either.

If you can get it working, can you please supply the PHP code that worked?

Thanks!

Here is a piece of code that works :

$res = civicrm_api3('Contact', 'duplicatecheck',
  array(
    'match' => array(
      'contact_type' => 'Individual',
      'first_name' => 'Jane',
      'last_name' => 'Doe',
      'email' => 'jane@example.org',
    ),
  )
);

Return :

Array
(
    [is_error] => 0
    [version] => 3
    [count] => 1
    [id] => 810
    [values] => Array
        (
            [810] => Array
                (
                )

        )

)

Note that :

contact_type is really important because it help the api choose the proper rule and CiviCRM won't give you any error if you omit it
I'm not sure if it's possible to test it from the api explorer because match is an array and i have no clue how to put an array in this context...


Whitescreen (500 error) with Civimail As best I can tell, the menu link for a new mailing:

https://mysite.org/civicrm/mailing/send?reset=1
Redirects to https://mysite.org/civicrm/a/#/mailing/new

But this fails as a white screen.

The console tells me:
Failed to load resource: the server responded with a status of 500 (Internal Server Error) GET https://mysite.org/civicrm/a/ 500 (Internal Server Error)

Any ideas what's causing this? The same problem is true for A/B mailings.

Please see How do I debug CiviCRM when I hit a blank page / white screen / fatal error? which has instructions for debugging PHP when you run into a blank screen.


Confusion between Contribution ID vs Invoice_ID in the database CiviCRM 4.6 - Moneris payment processor -

CiviCRM's invoice uses the ID column to generate the Invoice number (INV_XXXXX) but creates its own hash and adds it to the invoice_id column - is there a way to reconcile the two? It seems CiviCRM uses the ID column to reference a contribution everywhere except in the invoice_id column after a successful transaction as been made.

We notice that when "Send Invoice Email" is used in the Contribution view, it changes the invoice_id column to the INV_xxxxx naming which has given our client major reconciliation headaches. Based on the database logging, the "Send Invoice Email" function sends an Insert request and updates the invoice_id field.

I tried searching the issues tracker, but couldn't find anything.

Before and after images included -

It looks like in CiviCRM 4.6, the invoice_id hash gets replaced by the INV_xxxxx number the moment there's an "action" taken - the invoice is downloaded or edited, for example.

Not sure why.


CiviCRM Bulk Email always shows [Civimail Draft] before the subject When I send a email using the Bulk Mail facility of CiviCRM the subject line is always preceded by the text [Civimail Draft]. I must be doing something wrong but I am not sure what it is.

You are not sending the final version, you are sending a draft. This is meant to be used to send to you and a few other testers.

The final "official" version is sent when you go to the next step and schedule to send it.

You will need to set up a cron to process the scheduled mailings and send them


Add Menu Item not displaying for all Admins We are using civi 5.3 on Wordpress 4.9

recently we created some custom menus items to go on the top navigation menu They are the parent tab.   Some Administrators report that they can see them, while others report that they cannot see them.   I checked, and all of us are in the same groups and have the same permissions.
I tested it in Google Chrome and saw the new menu items.
I tested it in Explorer and saw the new menu items
Then I tested on on my ipad with Safari with the same admin account as the other two tests and I do NOT see the new menu items, even after clearing Civi's cache and my Ipads cache.  This does not make sense to me.  Does anyone know what is going on?

I found the problem.   Civi's top menu is not responsive.  If you have a high screen resolution, menu items on the right side will disappear.  Try for experimental reasons, log into civi, hold down your Ctrl key and press the + key a few times and watch as menu tabs on the right side disappear.


Cannot Backup my CiviCRM DataBase due to an Unexpected Error I use the Backup & Migrate Drupal Module

I realize that I have never had my CiviCRM DB saved, though it is mentionned in the Sources Backup configuration list.

I have only one Settings Profile, which only contains "Default Settings" / "Default DataBase" (which I understand to be the Drupal DB).

If I want to "override" the existing Setting or "Create a New Profile", I get the following message :

"The Web site has encountered an unexpected error ; please try later".

Is there any expectable reason ?

(Currently in Drupal 7.54)

--------------------------- Edited 04/19/2017

I have submitted the problem to CiviHosting : this is their answer :

"I enabled logging for your site and the error is this:
PDOException: SQLSTATE[HY000] [1045] Access denied for user 'XXXXX'@'' (using
password: YES) in backup_migrate_source_db->_get_db_connection() (line 213 of
/home/XXXXX/www/www/sites/all/modules/backup_migrate/includes/sources.db.inc).
which I do not understand as the XXXXX has access to both the CiviCRM and the
Drupal database."

Finally, I have deleted my CiviCRM DB from the Settings Sources, then recreated it, and it seems to work now.

I may have entered bad credentials, but the error message is not very explanatory.


Fatal error: Out of memory - CiviMail It appears that Scheduled Jobs for sendmail is throwing memory errors. After it was observed that mail was not sending, I attempted to "Execute Now" from the admin area.

Fatal error: Out of memory (allocated 120848384) (tried to allocate 21703932 bytes) in /home/[site]/www/www/sites/all/modules/civicrm/packages/Mail/mimePart.php on line 313

My host increased my memory, "We just increased your account's memory limit from 195 MB to 295 MB. We applied the changes in your global php.ini settings as well."

Now the error reads:

Fatal error: Out of memory (allocated 203685888) (tried to allocate 29831950 bytes) in /home/[site]/www/www/sites/all/modules/civicrm/packages/Mail/mime.php on line 1030

Any suggestions?

If you are processing more records at the same time - you will run out of memory -

In order to prevent Out of Memory the best way is to process less records in a single go - civimail does process records in a batch (like 200 approx.) at a single go

Whenever we create PDF in bulk, mail in bulk always we use to end up in Out of memory even in local PC or local server - so processing min amount of records should fix the problem

I guess the main problem for this Out of memory Issue is:
Civicrm DAO uses more memory and once the process is finished it doesn't free the memory at all. So php memory keeps on building and eventually - so we end up in Out of memory

I guess this helps!!!!


Hiding Fields or Disabling Them? Can you disable or hide fields in the Individual window?

Are you referring to the "Summary" tab when viewing a contact?  If so, you can do so by installing the Contact Layout Editor extension.

Note also that many (not all) fields can be disabled from Administer menu » Customize Data and Screens » Display Preferences.


Mandatory payments for new members I am looking for an elegant solution for the following. It shouldn't be very difficult but I am new to CiviCRM and I want to make the right decisions.

We only have one membership option. Members pay 10,- euro per year. This membership automatically renews until it is cancelled by the member.

If someone becomes a new member, there is a 'joining fee'. A new member pays 10,- extra. So in the first year a new member pays 20,-, in the following years they pay 10,- per year.

I want to use CiviSEPA to handle the payments.

An elegant solution really depends on having a reliable way to detect that someone is an existing member.  However, assuming you have such a method (e.g. members are logged in or can be detected via unsupervised dedupe rules), I would recommend using CiviDiscount to apply an automatic discount based on membership status.


Geocoding contacts using google api I have geocoding enabled but getting the contacts geocoded seems hit and miss.

I can get them geocoded if I go into the record and resave the address field (without making any changes). The small red "map" icon then comes up and they seem to get geocoded in the saving process. I have only a 1000 records so I can go through them manually.

However when I try to do the batch geocoding I just get this - which I don't understand although it seems to be saying I have an invalid start id. Any ideas how I could start to trouble shoot this?

Parameters raw (from db settings):
geocoding=[1 or 0] required
parse=[1 or 0] required
start=[contact ID] optional-begin with this contact ID
end=[contact ID] optional-process contacts with IDs less than this
throttle=[1 or 0] optional-1 adds five second sleep

Parameters parsed (and passed to API method):
a:6:{s:7:"version";i:3;s:9:"geocoding";s:17:"[1 or 0] required";s:5:"parse";s:17:"[1 or 0] required";s:5:"start";s:48:"[contact ID] optional-begin with this contact ID";s:3:"end";s:62:"[contact ID] optional-process contacts with IDs less than this";s:8:"throttle";s:42:"[1 or 0] optional-1 adds five second sleep";}

Full message:
Finished execution of Geocode and Parse Addresses with result: Failure, Error message: start is not a valid integer

Thanks!

It looks like you still need to configure the job parameters for geocoding, for instance for the 'geocoding' parameter it expects 0 or 1, but literally "[0 or 1]" is being passed.

So if I want to geocode starting at cid 1 and end at cid 1000, but skip address parsing, I would pass the following parameters:

geocoding=1
parse=0
start=1
end=1000
throttle=1

If you're running this as a scheduled job, you can go to the scheduled jobs page (administer>system settings>scheduled jobs) and 'edit' your geocoding job. The box called 'Command Parameters' is where you would edit this information.

Some more info here: http://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs


civicrm email scheduling I scheduled an email to send at 9.40am and it actually sent at 9.49am which I assume is to do with how often the send mail cron job runs.
Is there a way of actually getting an email to send at the time you specify?
EDIT my cron job for the above said that it triggered at 11.48am. Why is that? Is there a setting in civi which I need to change?
Thanks!

If this is a one off thing, you can run the Send Scheduled Mailings as a one off directly from the user interface from Administer >> System Settings >> Scheduled Jobs. Select More and then Execute Now against Send Scheduled Mailings.
I don't think that tinkering with the cron jobs to do this is a sensible way to do this, though it would work. Some environments (externally hosted) will not want cron jobs to run too frequently as it wastes resources. Personally, I would try and set the time for emails to fit the cron schedule.
I agree with Lars SG about the 11:48 entry. If you look back at the Log for the Send Scheduled Mailings job you will also see 09:48 (and I expect 10:48 at least depending on the frequency.


State/Province dropdown is empty since update to 4.6.10 I just discovered that the State/Province dropdown in Address section of create New Individual form is missing the state data. When I click on the dropdown it displays "N/A" and below it "None found.". This seems to be a universal problem in my civicrm instance too - e.g when i go to to manage an Event the dropdown behaves the same.

I have never noticed this problem before in 5+ years of running civicrm. I recently upgraded to 4.6.10 from 4.6.3 - perhaps its related. This is a WordPress 4.3.1 install.

I checked the 'civicrm_state_province' table in the db and the data is there, so i'm not sure why it's not getting loaded in the dropdown.

any ideas?

screenshot of broken dropdown: http://imgur.com/3w3G8On

This problem has been resolved.. The civicrm_state_province table was empty. dumb of me not to check this, How it got empty is a mystery tho...


Memory Error (500) For SMTP Settings After Upgrading to 5.35.1 After upgrading to 5.35.1 I am getting a memory limit reached error when loading the SMTP settings page. I am not sure if this is related but I am getting a growl error for "Failed to find key by ID or tag" and then a random string.
I have tried getting to the page with and without the CiviCRM Secret Keys set in my settings file. I have cleared the cache. My memory limit is set at an obscene 3000M.
I have this working on my dev server with the same SMTP settings.  The dev server has the CiviCRM Secret Keys set.  I am using;
define('CIVICRM_CRED_KEYS', '::SOME VALUE');

Any help or ideas of how to fix this are appreciated.
Thanks,
Josh

What I think happened is that added the encryption key after I did the upgrade. I am not sure how I did this.  This was then causing the SMTP key not to be able to be read.
I got the idea that maybe I could force blank values into the STMP form. While there I found this code.
if (!empty($this->_defaults['smtpPassword'])) {
          $this->_defaults['smtpPassword'] = \Civi::service('crypto.token')->decrypt($this->_defaults['smtpPassword']$
        }

I commented this out and the form loaded.  I saved without the key in the civicrm.settings.php file and then with the key again.
Now everything works correctly again.


Where to add tax credit values I am first time user of CiviCRM and have a specific question.
Where I can add/edit values for Tax Credit?
Previous Admin has left and I have to update the Tax Credit values for current year.

What jurisdiction are you in? Countries typically have their own requirements for issuing Tax Receipts for Eligible Donations.

In CiviCRM the Financial Type determines whether a Contribution of that Financial Type is deductible for income tax purposes or not. A contribution with multiple financial types can then become partially Tax Receiptable -> e.g. Meal$ (not eligible) + Donation$ (eligible).

The non-deductible amount field (hit Edit Contribution to find it) -> is handy if you need to make manual adjustments.

Of course it still depends on the Code you use to generate the Tax Receipts how exactly it processes the line-items and the non-deductible amount field. We do that in our Canadian CDN Tax Receipts Extension.

Hope that helps you along.


Where can I download the latest version of CiviCRM? I'm trying to install Civi 4.6 with Drupal 7, using the instructions in the wiki page referenced in the title.  In step 2, it says:

  As administrator in Drupal, go to Modules, click on Install New
  Module, and it will ask you to fill in the URL of the module. It will
  then fetch it and install it for you. You will need to enable the
  Update Manager module in the drupal modules page to see the Install
  New Module link.

  The current link is
  http://sourceforge.net/projects/civicrm/files/civicrm-testing/4.6.alphax/.
  You will need to replace 4.6.alphax with the current minor version
  number.

  Hit the Install Button.

Apparently the current minor version is alpha1, so I enter http://sourceforge.net/projects/civicrm/files/civicrm-testing/4.6.alpha1/, and hit Install.  I get:

  Cannot extract temporary://update-cache-b2aa7d22/4.6.alpha1, not a
  valid archive.

Maybe I should add that I'm trying to install this on my account at the web host webfaction.com.  Not sure if this makes any difference.

Advice?

You can always find the latest version on the CiviCRM website, or on Sourceforge. If using the Sourceforge link, there is a direct link to the latest version (Drupal) (others who may be interested in other CMS's can select the version for an alternate CMS):

(per @petednz) It is a good idea to double check that you are getting the latest version if you use the big green "Download" button as occasionally that button lags behind the latest version slightly.


How can I keep track of a "role" in an organisation (eg. secretary) over time (1980-1995) Under individual contacts, I want to keep track of roles over time within my organisation's executive committee. So, every couple of years the Secretary, Treasurer, Chair, London Rep, Wales Rep etc etc. are newly elected.

I want to be able to record on a contact that they were the secretary from 1999-2001 for example, and then they were the chair from 2001-2004. I expect a full date will be used, but for simplicity we would usually just include the year, as most elections will take place at the AGM and therefore the same month every year. There are of course exceptions, where people resign mid-term.

I would also like to be able to record that they were the "X" role from 2016-present, and be able to display/view all the "Current" roles, based on them being "X" month/year to "present".

Welcome to CiviCRM StackExchange Daniel!

The CiviCRM relationships functionality will work perfectly for your use case scenario -

https://docs.civicrm.org/user/en/latest/organising-your-data/relationships

You can have different relationship types (roles) and they can be linked between individuals and organisations. A contact can also have multiple relationships.

And of course relationships include both a start and end date.


Receipt for manual registration - HTML I'd asked about this almost a year ago, and at the time was pointed towards a patch that was being worked on. But that patch, as I understand it, was closed as incomplete. Does anyone know if additional work was done on it? I really need to be able to have HTML on the confirmation email when you do a manual registration for someone or input a manual payment.

It's fine for now if it doesn't have a WYSIWYG, I just need the field to support HTML.

Right now, we have text on each individual event that gives information about the specific event, such as the location, recommended hotels, etc. It has HTML added manually to it (since that field doesn't have a WYSIWYG). That text all copies over to the receipt when you manually add a training to a record, including all the HTML tags. But when that email sends, it doesn't actually allow HTML. So all those tags just show up in the email as text.

Below is a bit of the text in the receipt that gets sent out with all the tags included. This is a screenshot from the actual email received, not the field inside Civi.

I agree that this should be possible in the manual registration.
However, you could likely work around this using CiviRules. Not knowing your exact situation I'm guessing here, but this is how I might approach it.

Install the 'Email API' extension (needed to be able to send email from CiviRules).
Install the 'CiviRules' extension.
Create a new participant status simply so it can be seen by the rules engine. Maybe something like 'Registered (manual)'.
Create a new rule 'send email to manual registrants'.
Make the rule trigger 'Event Participant is added'.
Add a linked condition to the rule 'Participant status is (not) one of'.
Set the condition operator to 'is one of'.
Choose the new participant status you created 'Registered (manual)'.
Add an Action 'Send Email'
In this example, you shouldn't need a delay, but it can be useful to introduce a short delay to allow tables to be updated if you need to test them or get data from them.
Lastly, set the email parameters including the message template. You can CC, BCC etc.
Save and test with a manual registration for a fake user. You will have to choose you the custom status you created so the rule will trigger.

You could add an additional action to the rule that changed the participant status to the normal one after the email is sent.


Cannot Tags and Groups fields in Webform CiviCRM Integration - Drupal 8 I try to create a contact in CiviCRM 5.9.1 with a Webform and Webform CiviCRM Integration (all in Drupal 8.6.7),

But when I choose the needed fields in CiviCRM and I use the ENABLE TAGS AND GROUPS FIELDS : no field appears.

If I still save then I get in Drupal an Error: Class 'Drupal\webform_civicrm\CRM_Core_BAO_Tag' not found in Drupal\webform_civicrm\FieldOptions->get()

To recover the use, I need to delete the Webform.
All of the other fields appears and can be selected in the Webform : Phone, Email, etc.

Is this, reveals a bug in Webform CiviCRM Integration or could it be something wrong in the Tags and Groups ?

Also if I select Yes for Tags and Groups fields, then impossible to get fields for Phone, Email, etc.

With Tags and Groups fields on No

With Tags and Groups fields on Yes, no other fields can be selected

I suspect d8 webform_civicrm does not yet have those fully functioning. KarinG is leading the project and would welcome assistance and/or funding I suspect. I think the most recent update is in this blog where she says

  Drupal 8 port! The D8WFC project kicked off in August 2018 and we've already got Contacts, Memberships and ... Contributions working. Yes! We're transacting through live pathways. Try out the dev version: https://www.drupal.org/project/webform_civicrm/releases/8.x-5.x-dev if you feel adventurous: it currently contains Contacts and Membership functionality. If you want to try Contributions you'll need to check our GitHub repo:  https://github.com/colemanw/webform_civicrm/tree/8.x-5.x - and keep an eye on PRs against that branch


Can commercial organisations use CiviCRM Your website states that you are a CRM system for non-profits. As an open source setup, can commercial entities and freelancers use your platform?

Yes it can be used by whoever wishes to make use of it. It is largely used by NGOs but there are many commercial entities using it for their own requirements.


Is there a way to edit tag colours through the UI? Having created a number of tags I've decided it would be useful to have them colour-coded.
It is straightforward to specify a colour when creating a tag, but I can't work out how to apply a colour to an already created tag, and have it stick. The UI lets me specify a colour, but there seems to be no way to save the change?

Click on the tag to edit, then click on the color rectangle (if white than you will not see any color) . See screeprint

So in this example the color rectangle is the one in the left top hand corner.


How can I customize the user-access to Mailing lists? Its not clear to me how I as an admin can control the access for different groups to their mailing lists.
For example, the leader of group A should be restricted to mail to group A.
Is it possible to create some kind of mail-distributor (a mailing-adress to which I can send a mail and from which it is distributed to a mailing list).
kind regards

You want to set ACLs that only allows those users to view those groups - and thus to add those groups to mailings.
There is no built-in mailing list functionality, i.e. you send an email to a specific address, it is distributed to a group, in CiviCRM.


Bugs in localization I'm localizing (Italian) some parts of CiviCRM, but I noticed how some terms are not sensible to be translated.
I had a look on the code and I found that these terms are written without the ts() call.

I correct the code, using ts() function, and the problem was solved.

Now I have a little list of these bugs, and my question is: what is the procedure to signal them to the community?

Thanks

Thanks. Please open an issue on http://issues.civicrm.org/
There you can also add a diff file to an issue.

If you're really hardcore you can fork https://github.com/civicrm/civicrm-core, add your changes to the git project and do a pull request.


Unable to access administration links after upgrade to CiviCRM 4.6.10 I have upgraded from CiviCRM 2.5 to 4.6.10.

Since the upgrade I cannot go into any of the links in Administer CiviCRM without an error:

   @import
  url(/devjom3update/administrator/components/com_civicrm/civicrm/css/civicrm.css);
  @import
  url(/devjom3update/administrator/components/com_civicrm/civicrm/bower_components/jquery-ui/themes/smoothness/jquery-ui.min.css);
     Sorry but we
  are not able to provide this at the moment. You do not have permission to
  access this page. Return
  to home page.
  function toggle( element ) { var className = element.className; if (
  className == 'crm-accordion-wrapper collapsed
  crm-fatal-error-details-block') { element.className =
  'crm-accordion-wrapper crm-fatal-error-details-block'; } else {
  element.className = 'crm-accordion-wrapper collapsed
  crm-fatal-error-details-block'; } }

We are using Joomla 3.4.5.

This looks like a permission error.

Check that your user has sufficient permission to access these pages.  Ensure that you have the 'Administer CiviCRM' permission.

See the book for more details: Permissions and access control


How to input URLs in CiviCRM fields (custom fields or standard fields) so that they're clickable Does anyone know if this is possible? I want to save a URL in a CiviCRM field so that it's clickable when the field content is displayed eg in a report, or just in a normal CiviCRM page view.

Example: store the URL for a page on a contact's website, so that when I display the contact record, the website URL appears as a clickable link. I suspect it must be possible, but can't work out how to do it.

There two ways a field which can be used as link.

Contact's website field
This is field is available for Contact of all type i.e Individual, Org etc. on new contact form or can also be added to profile.

Custom field of type link
CiviCRM provides custom fields for different type. You can use custom field of type link if you want it to be used as link as it provides validation.

HTH

Pradeep


What time of day are Scheduled Reminder Event Emails sent? The 'Scheduled Reminders' tab for events allows the user to set an exact date for a Scheduled Reminder Email to be sent, but there is no option to specify a particular time on that date.
What time of day are such emails sent by civi? Is it 12:00am on the day? Because this is the first time that it is true that the date matches? Or is there some other default time set?

This varies but is configurable.
If you go to Administer menu > System Settings > Scheduled Jobs you'll see a job called Send Scheduled Reminders.  It will also say what time the job was last run.  It will run 24 hours from the last time it was run.
You can edit the job to force it to run next at a given time. It will then run 24 hours from when it was previously run.
A good improvement would be to allow specifying a time, which should be possible these days - CiviCRM stores a time internally to deal with timezone issues.  This would be especially helpful for users who have modified the scheduled job I mentioned above to run more frequently than daily.


Contribution updating the wrong members record We have CiviCRM 4.7.12 working on Wordpress 4.6.1. having no problems other than described below.

For a few months now, we've noticed that occasionally when an existing member renews using PayPal, their contribution record correctly records their contribution (usually twice!), but their membership record is not being updated.  Instead, another contact's expired membership record is being updated to show a new membership, without a contribution.  When the confirmation receipt is sent to the contact who has made the contribution, it shows the membership new start and end dates of the other contact.  We have to do manual changes to both contacts records to put things right.

We have had no contributions off-line for a while to test whether this problem only affects PayPal users.

Has anyone else experienced this and if so how did you correct things please?  I'm totally baffled as to why this is happening.  I've delayed reporting this for a while because I was hoping that things would correct themselves following 2 or 3 upgrades.

This is a bit similar to
Membership creation is altering unrelated records but there has been no answer to that question.

It seems this problem has been reported as a bug at https://issues.civicrm.org/jira/browse/CRM-19594 "Wrong membership Updated"


Event Fees - DB Error: syntax error after upgrading to CiviCRM 4.7.23 for Wordpress I can no longer configure Event Fees and get a DB Error: syntax error.

I tried upgrading to 4.7.24 and still no joy.

The log file contains this:

    Sep 28 12:41:10  [info] $Fatal Error Details = Array
(
    [callback] => Array
        (
            [0] => CRM_Core_Error
            [1] => exceptionHandler
        )

    [code] => -2
    [message] => DB Error: syntax error
    [mode] => 16
    [debug_info] => SELECT  id, entity_id
 FROM civicrm_entity_financial_account

 WHERE ( account_relationship =  AND entity_table = 'civicrm_financial_type'  )

 ORDER BY entity_id
 [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND entity_table = 'civicrm_financial_type'  )

 ORDER BY entity_id' at line 4]
    [type] => DB_Error
    [user_info] => SELECT  id, entity_id
 FROM civicrm_entity_financial_account

 WHERE ( account_relationship =  AND entity_table = 'civicrm_financial_type'  )

 ORDER BY entity_id
 [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND entity_table = 'civicrm_financial_type'  )

 ORDER BY entity_id' at line 4]
    [to_string] => [db_error: message="DB Error: syntax error" code=-2 mode=callback callback=CRM_Core_Error::exceptionHandler prefix="" info="SELECT  id, entity_id
 FROM civicrm_entity_financial_account

 WHERE ( account_relationship =  AND entity_table = 'civicrm_financial_type'  )

 ORDER BY entity_id
 [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND entity_table = 'civicrm_financial_type'  )

 ORDER BY entity_id' at line 4]"]
)

I have since found more issues which may be related.

I can no longer edit or add Payment Processors and get an error saying: This financial account cannot have '' relationship.

I also can't add or edit Price Sets.

Further digging found this in my tracestack:

/wp-content/plugins/civicrm/civicrm/CRM/Financial/BAO/FinancialType.php(196): CRM_Core_PseudoConstant::populate(NULL, "CRM_Financial_DAO_EntityFinancialAccount", TRUE, "entity_id", NULL, "account_relationship =  AND entity_table = 'civicrm_financial_type' ")

I guess you have disabled the CiviContribute Component which lead the function to return NULL for account relationship.


Can Domain Access ensure that a civi 'admin' on domain-B can not login via domain-C and see contacts they should not see? My recollection maybe wrong on this. Scenario is

main site A
subsite B
subsite C

Subsites B and C are created via Domain Access module and are correctly wired in to civicrm so that a contact created on siteB is added to GroupB and hence the subsite-admin on site B can log in to Civi but only see contacts in Group B.

Excellent.

What I am missing is how to ensure via Roles and Permissions (or something extra) that subsite-admin B cannot login in via subsite C (which they currently can and hence can see contacts in Group C)

I have looked at domain_roles and domain_login but neither give me what I expect.

Look forward to having the obvious missing link pointed out to me.

Seems this is possible in a fairly blunt way by using the domain_bonus_login_restrict module which is part of the Domain Bonus module


Invoice generation wkhtmltopdf font missing I have a problem generating invoices on CiviCRM-4.6.16 with wkhtmltopdf-0.11.0_rc1 on Drupal (7.43).

In the template I define a font-family

@font-face {
font-family:LiberationSans-Regular;
src:
url(/ABSOLUTE/PATH/TO/fonts/LiberationSans-Regular.ttf);}

In the Body I define a table I want to use the font like this:

      <table style = "padding-right:19px;font-family:LiberationSans-Regular;" width = "500" height = "100" border = "0" cellpadding = "2" cellspacing = "1">

The font is always ignored, except when I use a system/default font (e.g. Courier).

I tried numerous locations on where to put the fonts, since I suspected a permission problem or something like that, but apparently nothing helps and I can't get other fonts in the pdf export.

I verified that wkhtmltopdf is used (via meta data of the pdf).

Help would be appreciated!

Another option to try is to use inline fonts encoded in the base64 format. This prevents file system permission problems. More information can be found in this blog entry.


How can I add the "automated mailer task cron job"? I'm sorry guys,  I have really no idea what I'm doing. I'm just trying to learn as I go.
I've been checking out forums and videos and it all leads me to this: I need to know the command so I can add the cron job from my cpanel, so that my civiCRM starts sending the emails.
I have already enabled the option "process_mailing" on scheduled jobs settings.
Sorry I'm so lost... hope any of you can help me.

There is some general information about scheduling jobs and running cron here User and Administrator Guide.

You will find links to more details in both the guide and the link (Job parameters and command line syntax documentation…) on the Administer=>System Settings=>Scheduled Jobs.  Here is that link Managing Scheduled Jobs.

There a number of different ways to run the jobs from cron and a number of examples in the second link, which should take you to the command line syntax part of the page.

This command line should work in most situations; though, there can be better options for security, etc. depending on your environment.

*/15 * * * * /path/to/php /path/to/civcrm/module/bin/cli.php -s site -u user -p password -e Job -a execute

The -s parameter is the site name, and defaults to 'localhost'. It should be set the FQDN (fully qualified domain name) of your site (eg, 'example.com') Some jobs rely on this being set (in certain cases, the CiviMail mailing scheduler uses this FQDN to generate absolute URLs when relative URLs are in the email).

For the crontab challenged folks (most of us at some point), the */15 says to run it every 15 mins.


Emailed invoice PDF line items missing I have setup a webform to process membership renewals via a checksum. When the user pays they are sent a pdf invoice which is missing information such as description, quantity and unit price (see attached screen capture).

However, the correct PDF invoice is sent when I select the following:
Home » CiviCRM » Administer CiviCRM » Manage Contribution Pages » Receipt » Tick Email Receipt to Contributor?

The issue with this is that Civi will also send the email with the missing information.

Does anyone know how I can get the correct information to display on the first email? Or to stop 2 emails being sent when: Email Receipt to Contributor - is selected?

All message templated are default. CiviCRM 5.26.1. Drupal 7.71

Edit: Second screen capture of desired outcome.

Can you post the screenshot of the webform used to retrieve membership renewals? Not sure what you expect in the description, qty field.

  Or to stop 2 emails being sent when: Email Receipt to Contributor - is selected?

Check whether Automatically email invoice when user purchases online is enabled on contribution settings? - Administer => CiviContribute => CiviContribute Component Settings


Add new smarty template to an existing page I want to add a new template part to the activity edit & view page, I have been trying number of hooks to do it but could not figure out which one best to use.

I am trying to do something similar to what is explained here https://youtu.be/lrk8X_jt0wU?list=PLjSU7YfE0E00Xv9b_VqwjDjAcFUVtR8k5&t=837 but for activity edit & view pages.

function _myactivity_civix_civicrm_summary($contactID, $content){
CRM_Core_Region::instance('page-body')->add([
    'template' => 'templates/myactivity.tpl'
]);
}

Any suggestion or better approach would be great help.

Thanks in advance :)

I am assuming you want to add some stuff at the bottom of the activity page, correct?

First of all, you need to establish if you are adding to a civicrm page or form. You can do a little test with the hook buildForm (see https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_buildForm/) and check the formName or with the hook pageRun (see https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_pageRun/) and check the name of the page.

Once you have established which hook you need to use you can add the template with the CRM_Core_Region.


I have deleted a contact by mistake I have deleted a contact by mistake. Please explain how I can restore the contact to the database ?

You must have permission to restore deleted contacts.  If you don't, please ask someone who does.

Go to Search menu >> Advanced Search.
Check the Search in Trash (deleted contacts) box.  It's near the top on the right.
Enter the name for the person in the name field if you know it, otherwise just press Search.
You should see a list of deleted contacts.  Check the box next to the deleted contact you want to restore.
From the Actions drop-down that appears above the list of names, select Restore contacts from trash.
Click Restore contact(s).


How do I fix error with the new (4.6.0) Drupal views image handler for CiviCRM contact images Just upgraded to 4.6.0 and now I see that the CiviCRM Contact Image field in Drupal views now uses the views image handler! Awesome! Prior to 4.6 it was just a string containing a URL to the image. Thanks to @Shawn Duncan for his efforts and contribution.
However, I can't get it to work. The image URL it produces gives a 404
Example URL that returns 404:
http://example.com/sites/example.com/files/example.com/civicrm/contact/imagefile%3Fphoto%3Dmbd_logo_01cf3f5560578c6554b9ba009f6b42b7.png
But the actual working URL to the file is:
http://example.com/sites/example.com/files/civicrm/custom/mbd_logo_01cf3f5560578c6554b9ba009f6b42b7.png
So it's inserting an extra example.com after the /files/ and it's using this /contact/imagefile%3Fphoto%3D instead of the actual path to my custom uploads.

[Edit]
Using Drupal image presets is broken in 4.6 since at least 4.6.6; if you select an image style in Views, it mangles the URL to something like
<img typeof="foaf:Image" src="http://styles/medium/http/example.org/civicrm/contact/imagefile?photo=bsglogo_49524b829beb4448767ee75a42f2dcc0.jpg&amp;itok=dGLXdcig" width="220" height="220" alt="" title="">
Is there a suitable workaround?

Your site is affected by CRM-16009 - URL for Contact Image in View incorrectly generating.

That URL should look like this -

http://example.com/civicrm/contact/imagefile?photo=mbd_logo_01cf3f5560578c6554b9ba009f6b42b7.png

rather than this -

http://example.com/sites/example.com/files/example.com/civicrm/contact/imagefile%3Fphoto%3Dmbd_logo_01cf3f5560578c6554b9ba009f6b42b7.png

The civicrm/contact/imagefile handler permits CiviCRM to provide its permissions checks on whether the image in question should be served up.

Since that code was merged, there's a good chance it worked for someone and this may be fixable in configuration. It looks like the URLs you're getting from Views are confused - possibly by CiviCRM configuration, or by an issue with the views implementation as it currently stands, possibly an incorrect assumption in code about the location of CiviCRM codebase or system files, etc.


Importing checkbox data--error "'1' is not a valid option for field" I have a custom checkbox field, with a value list associated with it. When I try to import into the field, I get an error "'1' is not a valid option for field." "1" is definitely not the data in my .csv file (and as I am testing imports I pulled the values in there directly from the value list so I know they are valid for the field). The error messages for all of the entries say that "1" is not a valid option (though each entry has different data in the field).

I searched the old Civi forums and didn't see an answer to this there either.

Check your custom fields label and value and value must be same as in your .csv file. Label could be anything but value must match csv file value(if value in csv file 1, 2,3 then you option value for custom field must be 1,2,3).


How do I uncheck the recurring contribution check box by default? I've searched here and on the CiviCRM forum but haven't been able to find an answer to what I was hoping would be fairly simple.

I want to give people the option of making their contribution recurring, however I don't want the checkbox checked when the form loads I only want the checkbox checked if the user selects it. This is to avoid an embarrassing situation a month down the road when we process their donation again.

Here's a page with the form in test mode

I'm not all that good with code, but did look with Developer Tools and found this:

I looked at Main.tpl (lines 147-177) but don't understand enough to remove the checked="checked" attribute from the input tag.

{if $form.is_recur}

&nbsp;

  {$form.is_recur.html} {$form.is_recur.label} {ts}every{/ts}
{if $is_recur_interval}
    {$form.frequency_interval.html}
  {/if}
  {if $one_frequency_unit}
    {$frequency_unit}
    {else}
    {$form.frequency_unit.html}
  {/if}
  {if $is_recur_installments}

    {ts}for{/ts} {$form.installments.html} {$form.installments.label}

  {/if}

    {ts}Your recurring contribution will be processed automatically.{/ts}
    {if $is_recur_installments}
      {ts}You can specify the number of installments, or you can leave the number of installments blank if you want to make an open-ended commitment. In either case, you can choose to cancel at any time.{/ts}
    {/if}
    {if $is_email_receipt}
      {ts}You will receive an email receipt for each recurring contribution.{/ts}
    {/if}

{/if}

Thanks in advance.

You're in the right place to see what's going on, but the wrong spot to do anything.  The field will arrive in the template fully-rendered, within {$form.is_recur.html} or an equivalent Smarty variable. Editing the template won't help you there.

The form PHP code would allow you to change it, but that's not the best way to go about this: doctoring core CiviCRM code is a bad idea, and while there's a way to set up override files for code files, it's a clunky method.  Besides, you'd have to navigate Quickform, which is a headache in itself.

The better approach to forcing a checkbox checked or not is to use jQuery.  You'll have CSS-style selectors, so you won't need to troll through the templates to see where to alter the box.  You can add your code in one of three places:

Somewhere in your WordPress theme
In an extension you write, using the Resource addScriptFile method to add a script within hook_civicrm_buildform (the preferred method)
Using an .extra.tpl file in your template override directory


PSA for CiviCRM vulnerability released 7/18/18? I've received an notice from our Civi support saying that
"The CiviCRM Security team has issued a Public Security Advisory regarding a security vulnerability.  The fixes to this vulnerability will be released to the public on July 18th."

I was interested in getting some background, but I can't find the PSA. Can someone please point me toward it? Or is Civi just supplying that info to certain people in advance of the PSA being released on 7/18? Thanks!

For those who find this question now - you can find the seven advisories here.


How can I display an info only field in a webform I have put together a webform for signing in guests to a Nightshelter. Some guests are banned from time to time,  and when a known guest tries to get signed in I want to show if he/she is subject to a ban. Simple enough, but I can't figure out how to do this without exposing the yes/no banned field as updateable.  I can use conditionals but still end up showing the field as updateable.  Is it possible to show a field as read only in a webform? Or any other suggestions?

You could use webform conditional rules to display or hide a message based on the ban.

Add the "is banned" custom field to your webform
Update it from the webform tab to be type "hidden" (but not secure value)
Create a "Markup" field, and enter your warning message
Add a conditional rule to show/hide the markup based on the "is banned" value.


Current state of Household Membership signup (Wordpress) I'm currently working on a new install of CiviCRM to manage our co-operative membership. Membership is paid annually per household - each householder additionally makes an initial one-off £1 investment of share capital which confers voting rights in the coop.

I've done a LOT of reading around household membership and I'm aware that it's an underdeveloped area in Civi - sadly we're not in a position to cover the 200-400 hours of work that Lobo suggests would be required make it work as desired.

There seem to be a few people who've crafted successful work-arounds either with organisational subgroups or using Drupal webform integration to create complex sign-up pages. However, I've also seen a number of people years later bemoaning having taken the 'household route' initially.

As I'm at the beginning of the process and some of the forum discussions are a number of years old, I'm looking for a steer on the current developments and best practice. In particular:

Is there a recommended route for allowing online self management of family groups?
Our preferred CMS is wordpress, does the active development of Caldera Forms integration suggest a potential route, or will we have to adopt Drupal for complex webforms?

Many thanks for any pointers.

This question has a lot of moving parts, not all of which are clear to me here.  It may be best as separate questions.  I'll try to answer the parts I see.

It sounds like you need to track the members of a household each as a separate contact.  This is best with Webform-CiviCRM.  However, Caldera Forms will do most of this.  You can create several contacts, and create relationships between them.  However, you can't take payment on the same screen (not a big deal).  I'm not sure how it handles pre-populating related contacts for managing households later - you'll have to experiment.  Worst case, you could sponsor the Caldera Forms devs for a lot less than 200-400 hours for that feature.
You do NOT need to use the Household contact type if it's not important to you!  You can do this with a "primary contact" who has a relationship to the other family members.  This is up to you.  I prefer to not use households, personally.
You use the Relationship Type feature of CiviMember to allow family members to inherit the membership via relationship to the household (or primary contact).


Custom dropdown for specific relationship type When creating a new relationship is it possible to create a dropdown that only displays when you have selected a specific relationship type.

For instance:
Add custom relationship “Representation”
Represented by [individual]
Representative of [individual]

Add custom dropdown “Representative Type”
- Publicist
- Manager
- Agent

When you go to add a relationship currently the Representation dropdown displays on all relationship types. I.e. “child of” displays representative type, clearly unnecessary. Is it possible to only display that dropdown when Representation is selected from the relationship type dropdown?

Thank you for your time and consideration,

Tim

You can create custom group of fields for a specific relationship with your custom relationship type filter. This custom field will only be visible when you select relationship type from the drop down

Cheers

Pradeep


Not sure what to do with these errors on User Dashboard I have wordpress redirect users that login to their User Dashboard. When I login as an administrator I always get the following error:

Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/tarabnyc/public_html/wp-content/plugins/civicrm/civicrm/CRM/Utils/VersionCheck.php on line 429

Warning: file_get_contents(https://latest.civicrm.org/stable.php?format=json): failed to open stream: no suitable wrapper could be found in /home/tarabnyc/public_html/wp-content/plugins/civicrm/civicrm/CRM/Utils/VersionCheck.php on line 429

Any idea what this is about?

This line:

 https:// wrapper is disabled in the server configuration by allow_url_fopen=0

suggests to change allow_url_fopen = 1  in php.ini file on your hosting server.


Problem to view forms registration for anonymous user I'm using WordPress and Civicrm.
I can see user registration when I am logged in but not when I am an anonymous visitor.

Thank you, I'm a French user.

you need to provide access to the guest user/visitor and you can find all the permission in WordPress Access Control

CiviCRM » Administer CiviCRM » Access Control

For more reference please give a read
https://book.civicrm.org/user/current/initial-set-up/permissions-and-access-control/

I guess this helps !!!


How can I specify which location type address to use for a proximity search I collect both home and work address data for contacts. I assume - although I've not yet tested it - that the default location type is used when a proximity search is carried out.

I have work address set as my default, but want to do a proximity search based on home address.

Anyone know if this can be done, and if so how?

If you're on Drupal you can do this via views (where you have full control over which field types you pull in).

Here's a good example:
Views Proximity Search on Latitude / Longitude


Custom participant fields not showing for anonymous users on event registration page If I include custom (participant) fields in a profile on online event registration, these fields are not visible to logged-out visitors. If I visit the event registration page as admin I can see the custom fields.

I tried to reproduce this on the demo site, but could not.

Is there some permission that I am missing on my custom fields in order to have them appear on the event registration page for anonymous visitors?

[civicrm-4.6.9, Drupal 7]

I solved this by granting the Drupal permission "CiviCRM access all custom data" to the anonymous user role as per the documentation at the bottom of this page: http://book.civicrm.org/user/current/events/creating-an-event/

Note: this is a really freaky label on this permission. I find it very difficult to tick a box for anonymous users to "Access all custom data". What?


CiviEvent - How to Template Profile Fields and Price Set Questions In Custom Groups Is there any way to edit a CiviEvent template where I can take price set fields and put them in groupings with specific profile fields (from included profile)?

Reasoning - we are collecting data, which would go into Profile fields. We are also collecting Fees that correspond to those profile fields.

I want it to be grouped like

Profile Field 1 a
Profile Field 1 b
Price Set field 1

Profile field 2 a
Profile Field 2 b
Price Set field 2

Currently I am using jQuery .insertBefore and .prependTo to accomplish this, but it just seems ugly?

Thank you!

Sometimes questions should be right next to the Price Set option on the form - hence our need.

I think jQuery is the best way to achieve this at the moment, rather than trying to customise the template, or load a custom template for an individual event. Doing this in jQuery also keeps the logic separated out.

If it's critical that the questions appear in this order, then you can use the introductory message and some creative CSS / JS to hide the entire booking form unless JS is enabled. This is the approach we sometimes take.


Reserved payment-instruments: can they be removed? I found that there a few payment-instruments being reserved and therefor can't be removed in the UI, while setting up CiviContribute. These are 'Credit Card', 'Debet Card' and 'Check'. I'm 100% sure that in this case these will never used, so I'd like to remove them. I've already removed all cards in Accepted Credit Cards. I know how to delete the instruments in mysql, but I wonder if it would cripple something else?

Don't delete them, but there is a trick to disable the ones you don't want without resorting to direct SQL queries. Check out this solution on households to see how to do it via API explorer. In your case we would use:

Entity = OptionValue
Action = Create
Option Group ID = payment_instrument
Option Value ID = 88 (e.g. for Debit Card)
Option Is Active = False.


Custom fields of type text not displaying in filter tab of reports (CiviCRM for Drupal 5.5.1) after upgrading CiviCRM 5.5.1 in the filters of all reports, custom fields (type text) are not visibile. They are only visible only select fields.
In column tab are instead visibile. And they are visibile in Advanced Search.
Is it a bug?

Thanks

I had the same problem. I tried to create a custom field (String data type) and checked it as searchable but it didn't appear in Filters tab.

Checking and debugging the code I found the function addCustomDataToColumns() (in /sites/all/modules/civicrm/CRM/report/Form.php) which deals with Custom Fields Data

I noticed that String, StateProvince and Country data type are handled in the same way and this probably makes String data type Field not be visible in Filters tab. See this part of the code of the function mentioned above:

...

switch ($customDAO->data_type) {

...

case 'String':

case 'StateProvince':

case 'Country':

      $curFilters[$fieldName]['type'] = CRM_Utils_Type::T_STRING;

      $options = CRM_Core_PseudoConstant::get('CRM_Core_BAO_CustomField', 'custom_' . $customDAO->cf_id, array(), 'search');

      if ($options !== FALSE) {

        $curFilters[$fieldName]['operatorType'] = CRM_Core_BAO_CustomField::isSerialized($customDAO) ? CRM_Report_Form::OP_MULTISELECT_SEPARATOR : CRM_Report_Form::OP_MULTISELECT;

        $curFilters[$fieldName]['options'] = $options;

      }

      break;

...

}

...

I tried to put some changes in order to handle String data type in this way:

...

switch ($customDAO->data_type) {

...

case 'String':

        // I-Mod Giovanni Dal Mas 17102018: add new code lines for case 'String'
        $curFilters[$fieldName]['type'] = CRM_Utils_Type::T_STRING;

        $curFilters[$fieldName]['operatorType'] = CRM_Report_Form::OP_STRING;

        break;

        // E-Mod Giovanni Dal Mas 17102018

case 'StateProvince':

case 'Country':

...

}

...

With these changes, I can see the String data type field in Filters tab

Best Regards

Giovanni


How to allow anonymous profile editing on Wordpress We have a Wordpress site with CiviCRM. Only a few administrative users are allowed to login. We need to be able to let anonymous users modify their contact information. Below is info I copied from the wiki. Is it possible to do this with a Wordpress installation? Is the information current? How would the link be created in the email? The scenario is that when a user renews their membership using the online form, they get a confirmation email. The email must have the appropriate link to the secure form used to edit the contact info.

http://wiki.civicrm.org/confluence/display/CRMDOC/Linking+Profiles

  Allow Anonymous (not-logged-in) Users to Edit Their Profile
  A great feature is to "invite" your non-logged in users the ability to view and edit their contact info via a profile using CiviMail. To do this, insert the following link with appropriate tokens as shown into a CiviMail message:
  http:///civicrm/profile/edit?reset=1&gid=N&id={contact.contact_id}&{contact.checksum}
  ... where N is the ID of the Profile you want them to use for editing. The contact checksum token generates a special link that gives a user access to edit their information in that profile for 7 days from the day you send them the mailing.

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

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

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

Check your links here


Is is possible to import cases into Civi A client has many cases in spreadsheets, and Civicase looks very suitable.  I cannot see any facility to import cases into Civi via the UI.  Is this possible? I guess the alternative is to import directly into the database. Any suggestions?

As far as I know there is no Import Cases in the UI. So importing into the database would be the solution, but make sure you respect all the data models! You need to add data to civicrm_case, civicrm_case_contact, probably civicrm_case_activity and civicrm_activity and for the roles into civicrm_relationship.


Civicrm - Expense extension [unable to edit expenses] Having trouble to figure out whats wrong with the edit expense function as it always return a blank page. What could be the issue?
I extracted the error code from the error log.

My setup environment:
Wordpress
Civicrm 5.35.1

This sounds like it might be a bug in the expenses extension. It's hitting line 121 in CRM/Expenses/Form/Expense.php but $this->_expense is a string instead of an array at that point.
It's not clear why it's a string - it gets set at line 46 - if you add something like CRM_Core_Error::debug_log_message(var_export($this->_expense, true)); either at line 48 or at line 120 and then check in the ConfigAndLog file it will tell you what it looks like.


Can a CiviCRM member upload post content to a cutstom post type in Wordpress? In short, can a person register on CiviCRM, and then be given permission to post content for review (such as an upcoming event or job opportunity), which can then be moderated and approved by an admin?

We are considering CiviCRM for our organisation and think this is possible, but want to make sure.

Users are managed by WordPress and you can give specific roles permissions to access components in CiviCRM. Content management is handled by WordPress. I am not sure of all the details but it sound like you will need to manage permissions in both CiviCRM & WordPress for specific roles.

Take a look at this post. It has info on a similar scenario with some info on plugins that might help.
Including Member Login to a CiviCRM Site

Hope this helps...


How to search for Event Custom fields? Civi4.6.4 WP 4.2.2
I have a custom field for all Event Types called "Featured"(yes/no).  We will have many events created and only a few will be "Featured"(Yes).  So is there a way in the Manage Event List to search for just the "Featured" Events?

you can create a new report, go to Reports->Event Reports, click on New Event Report, Select  Income Count Summary Report, you can customize the report and if the featured field is searchable you will find it here. Hope this helps


Create a extension for civicrm Please give some reference site for creating a simple extension for civicrm with sample example.
Any simple extension on GitHub.

You need to install civix to create civicrm extension and then follow documentation for creating module extension. There are many examples of extension under civicrm.org. The easiest one to start would be

https://civicrm.org/extensions/api-key
https://civicrm.org/extensions/phone-number-validator
https://civicrm.org/extensions/show-contact-deceased
https://civicrm.org/extensions/sms-api
https://civicrm.org/extensions/extended-logging-report
https://civicrm.org/extensions/olark-chat
https://civicrm.org/extensions/birthdays-month
https://civicrm.org/extensions/show-member-ids
https://civicrm.org/extensions/mysms-mantra-sms-gateway-integration
https://civicrm.org/extensions/civicrm-country-manager

Ref: https://www.youtube.com/watch?v=lrk8X_jt0wU

HTH

Pradeep


Some checkbox settings not applying When I change some Civi settings they do not get applied. It seems to be only when deselecting some checkboxes. For example, in Custom Fields I deselect: Collapse this set on initial display. It looks like its saved but when I go back to the settings it is still ticked.

I can tick: Collapse this set in Advanced Search. hit save and it stays ticked. But when I untick the box and it remains ticked.

When I deselect: Is this Custom Data Set active? - The settings are saved.

This also happens in the Edit Scheduled Reminder settings page. I untick: Record activity for automated email and hit save. When I go back into the settings for the reminder it is still ticked.

There are no obvious logs. CiviCRM 5.25.0, Drupal 7.70 , PHP 7.3.18

Thanks for reporting this.  I've confirmed it on https://dmaster.demo.civicrm.org and opened an issue: https://lab.civicrm.org/dev/core/-/issues/1794


PDF Generation Error Civi 4.5.6 on Drupal 7.3.5

Go to make a single contribution receipt and get the following error

Fatal error: Maximum execution time of 30 seconds exceeded in /srv/www/yyyyyy/public_html/sites/all/modules/civicrm/packages/dompdf/include/line_box.cls.php on line 78

any thoughts ?

It might depend of the template layout you use or token or... plenty of reasons that the pdf generation can become slow.

In general, if you want good performances for pdf generations, install wkhtmltopdf and configure civicrm to use it

The way pdf generation works is that civicrm generates an html page first, then convert it to pdf. wkhtmltopdf is a software that does it way faster than doing it in php native


How to Export/Import all CiviCRM data from one website to another one I am recreating my website on another server. So my big concern is how to move all CRM data to new server/website.
To do separately exporting/importing contacts, membership, activities etc. is not so much accurate way, because there is a possibility of missing something.

Also I can't dump whole database. Is there any possible method, how can I do this??

I think you are saying that you have a single database for CMS content on the old site and that you already have new CMS content in the database for the new site. I think you want to move the CiviCRM structure and data. If I have understood that correctly (it would be good if you clarified by editing the question) then you can do the following.

1) split the CMS and CiviCRM databases: KEEP A BACKUP! Create a copy of the combined database by dump, rename the original and then reload). In the original you delete the CiviCRM tables (with e.g. phpMyAdmin) and in the copy, delete the WP tables. You need to edit the civicrm.settings.php to change the name of the CRM database - it will have the same username when created this way. This last bit allows you to keep access to the old CiviCRM so you can check things.

2) on your new site, reinstall CiviCRM using the same version as the old site and the same database details. Now replace the CiviCRM database with the CiviCRM database from the old site. Have a look at the documentation first! https://docs.civicrm.org/sysadmin/en/latest/misc/switch-servers/


Is there a civi way to manage API compatibility across CiviCRM versions? Working on an extension that is aiming to be compatible with 4.6 and 4.7. The complete PCP api is only available as of 4.7 as far as I can tell.

So for 4.6 users, the extension can include the PCP api but "bypassed" for 4.7 users?

Because the api implementation in the extension is in api//. So how can 4.7 ignore this?

When you call an API, Civi does a search to locate it. That typically means searching the PHP include_path for a file named api/v3/{$entity}/{$action}.php or api/v3/{$entity}.php. The include_path is typically managed via hook_civicrm_config.

It sounds like want to change hook_civicrm_config so that the effect is:

Add /path/to/org.example.myext/ to the include_path unconditionally. This contains all you're normal/common files.
Add /path/to/org.example.myext/backports to the include_path if it's an old version (4.6). This contains only the backports/polyfills for older versions.

In most civix-based extensions, it does the first automatically with this snippet:

function {myext}_civicrm_config(&$config) {
  _{myext}_civix_civicrm_config($config);
}

The _{myext}_civix_civicrm_config() is a baseline/default implementation that unconditionally adds /path/to/org.example.myext/ to the include_path. Take a look at the code in _{myext}_civix_civicrm_config($config) to see how it works.

Then you can write a similar function to add /path/to/org.example.myext/backports. Finally, call it:

function {myext}_civicrm_config(&$config) {
  _{myext}_civix_civicrm_config($config)
  if (version_compare(CRM_Utils_System::version(), '4.7', '<')) {
    _{myext}_config_backports($config);
  }
}

function _{myext}_config_backports(&$config) {
  ...
}


How can I change activity duration from minutes to hours? I have a client that reports activity duration in "Units" using hours. Is there a way to configure Civi to use hours? Or, would that require a custom field?

Try the following modules to collect activity data and convert hours to minutes on the front end.

https://www.drupal.org/project/webform_civicrm
https://www.drupal.org/project/webform_calculator


Access Denied After SSL Changes on Resource URL Admin Page Setup: CiviCRM 4.6.4, Drupal 7.54, GoDaddy Shared Hosting.

What I Did Recently: Installed Let's Encrypt certificates, verified things still worked, created and sent out a bulk mailing, created and tested an event with online signup and payment.

What I Did Friday (6/23/17): (not completely clear of exact steps here 'cause I may have blanked while banging my head on desk... note to self, glue foam on desktop) Under Administer/System Settings/Resource URLs I changed the SSL settings to Yes and then back to No.

What Happened Next: Access Denied error trying to access ANY Administer page, pages that access creation/editing of Events, forward facing Event pages, other pages that are less important to me right now.

What I Need: HELP (please)!  Event is little more that 3 weeks away and I (we) need access.

Thank you.

You can override the SSL settings in civicrm.settings.php, which will hopefully be enough to get you back in.

Add the following lines to civicrm.settings.php:

global $civicrm_setting;
$civicrm_setting['CiviCRM Preferences']['verifySSL'] = false;
$civicrm_setting['CiviCRM Preferences']['enableSSL'] = false;

Sources:

https://wiki.civicrm.org/confluence/display/CRMDOC/Override+CiviCRM+Settings
https://github.com/civicrm/civicrm-core/blob/4.6/settings/Core.setting.php


Payment processor, avoiding payments being rejected due to 'transaction is a duplicate'? Are other people seeing the error message:

  Payment Processor Error message: 9003: It appears that this transaction is a duplicate. Have you already submitted the form once? If so there may have been a connection problem. Check your email for a receipt from eWAY. If you do not receive a receipt within 2 hours you can try your transaction again. If you continue to have problems please contact the site administrator.

We are using the Eway Payment processor and CiviCRM.

We had a donation and a membership submitted at the same time and we had the donation go through but not the membership. The membership seemed to fail regularly so I rebuilt the form with profiles and captcha. We are still getting this error.

I can see the error message in the code. https://github.com/civicrm/civicrm-core/blob/master/CRM/Core/Payment/eWAY.php. It looks as though it is checking for a unique invoice id. Is there a way to manage the way invoice id's are created that we are not managing correctly? Is it a race condition?

CiviCRM 4.7.17.

The http server logs (cleaned up) from this IP address are:

[06/Apr/2017:16:02:32   +1000]  POST /civicrm/contribute/transact HTTP/1.1  200 16030   https://www.colongwilderness.org.au/civicrm/contribute/transact?reset=1&id=1
[06/Apr/2017:16:05:07   +1000]  POST /civicrm/contribute/transact HTTP/1.1  200 15965   https://www.colongwilderness.org.au/civicrm/contribute/transact
[06/Apr/2017:16:05:36   +1000]  POST /civicrm/contribute/transact HTTP/1.1  200 15947   https://www.colongwilderness.org.au/civicrm/contribute/transact
[06/Apr/2017:16:06:05   +1000]  POST /civicrm/contribute/transact HTTP/1.1  302     https://www.colongwilderness.org.au/civicrm/contribute/transact
[06/Apr/2017:16:06:34   +1000]  POST /civicrm/contribute/transact HTTP/1.1  302     https://www.colongwilderness.org.au/civicrm/contribute/transact?_qf_Confirm_display=true&qfKey=d30c3a51b960fea81a73d70d656af1a9_8907

It is referring back to itself which I can't explain.

A working test (form 4 not form 1)

[07/Apr/2017:05:10:25   +1000]  POST /civicrm/contribute/transact HTTP/1.1  302     https://www.colongwilderness.org.au/civicrm/contribute/transact?reset=1&id=4
[07/Apr/2017:05:10:59   +1000]  POST /civicrm/contribute/transact HTTP/1.1  302     https://www.colongwilderness.org.au/civicrm/contribute/transact?_qf_Confirm_display=true&qfKey=37ea51cf5a1e3f5197f136c5801cba2f_4643

The log does show that the contribution was being made on an old form that I had replaced.

This form only uses the inline options for donations and memberships. Thew new form uses price sets.

Old form configuration

With a membership section

It has been confirmed by @petednz and by testing without the 'Separate membership payment' option, that unsetting this option resolves the 'transaction is a duplicate' error.

In our case the membership types were moved out of the form into a price set.


Find contacts that have been moved out of a group Working with Advanced Search and Search Builder but I can't figure out how to find contacts that were moved out of a group.

Civi version 4.7.1 on Drupal. Thanks!

There IS a way to search for contacts removed from a group - but it's well-hidden.

Go to Contacts menu » Manage Groups.
Click the Contacts link next to the group you'd like to see deleted contacts for.
Under Group Status, uncheck Added and check Removed before pressing Search.


SMS breaks when upgrading to version 2 of extension & 4.6.2 of CIVICRM SMS API version 1.2 & Clickatell version 2 extensions were added.  Clickatell was set as an SMS Provider.  Clickatell was working with version 1 of the extension and 4.5.8 of civicrm.

When sending the sms, there is no indication of a failure, it just never gets sent.

Log file output - 2015-06-16 21:30:02   Send Scheduled SMS
Entity: Job Action: process_sms
Summary
Finished execution of Send Scheduled SMS with result: Success (a:0:{})
Details

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

Full message:
Finished execution of Send Scheduled SMS with result: Success (a:0:{})

LOG FILE-
Jun 16 22:45:02  [info] $INSERT INTO civicrm_job_log (domain_id , description ) VALUES ( 1 , 'Finishing scheduled jobs execution.' )  = #0 /home/depot/public_html/drupal/sites/all/modules/civicrm/CRM/Core/Error.php(608): CRM_Core_Error::backtrace("INSERT INTO civicrm_job_log (domain_id , description ) VALUES ( 1 , 'Finishin...", TRUE)
#1 /home/depot/public_html/drupal/sites/all/modules/civicrm/packages/DB/DataObject.php(2380): CRM_Core_Error::debug_query("INSERT INTO civicrm_job_log (domain_id , description ) VALUES ( 1 , 'Finishin...")
#2 /home/depot/public_html/drupal/sites/all/modules/civicrm/packages/DB/DataObject.php(1060): DB_DataObject->_query("INSERT INTO civicrm_job_log (domain_id , description ) VALUES ( 1 , 'Finishin...")
#3 /home/depot/public_html/drupal/sites/all/modules/civicrm/CRM/Core/DAO.php(450): DB_DataObject->insert()
#4 /home/depot/public_html/drupal/sites/all/modules/civicrm/CRM/Core/JobManager.php(237): CRM_Core_DAO->save()
#5 /home/depot/public_html/drupal/sites/all/modules/civicrm/CRM/Core/JobManager.php(87): CRM_Core_JobManager->logEntry("Finishing scheduled jobs execution.")
#6 /home/depot/public_html/drupal/sites/all/modules/civicrm/api/v3/Job.php(99): CRM_Core_JobManager->execute(FALSE)
#7 /home/depot/public_html/drupal/sites/all/modules/civicrm/Civi/API/Provider/MagicFunctionProvider.php(89): civicrm_api3_job_execute((Array:2))
#8 /home/depot/public_html/drupal/sites/all/modules/civicrm/Civi/API/Kernel.php(96): Civi\API\Provider\MagicFunctionProvider->invoke((Array:9))
#9 /home/depot/public_html/drupal/sites/all/modules/civicrm/api/api.php(23): Civi\API\Kernel->run("job", "execute", (Array:2), NULL)
#10 /home/depot/public_html/drupal/sites/all/modules/civicrm/drupal/drush/civicrm.drush.inc(1533): civicrm_api("job", "execute", (Array:2))
#11 [internal function](): drush_civicrm_api("job.execute", "auth=0")
#12 /usr/bin/drush-4.x/includes/command.inc(131): call_user_func_array("drush_civicrm_api", (Array:2))
#13 /usr/bin/drush-4.x/includes/command.inc(836): _drush_invoke_args("civicrm-api", (Array:2), "civicrm")
#14 [internal function](): drush_command("job.execute", "auth=0")
#15 /usr/bin/drush-4.x/includes/command.inc(236): call_user_func_array("drush_command", (Array:2))
#16 /usr/bin/drush-4.x/drush.php(101): drush_dispatch((Array:22))
#17 /usr/bin/drush-4.x/drush.php(41): drush_main()
#18 {main}

I use Twilio, but had this problem too. I found what i believe to be a bug in Civi's mailing code (which also handles sms'es).
In the function create in CRM/Mailing/BAO/Mailing.php on line 1755, getRecipients are called without the last argument $mode, and getRecipients are executed as if it's an email and not an SMS. I added a check to see if it's and sms, and added the extra argument, and it worked for me:

  // Populate the recipients.
  if (empty($params['_skip_evil_bao_auto_recipients_'])) {
    // check if it's an sms
    $mode = $mailing->sms_provider_id ? 'sms' : NULL;
    self::getRecipients($job->id, $mailing->id, NULL, NULL, TRUE, $mailing->dedupe_email, $mode);
  }

Read more at the issue I filed here.


Membership Status Report I have done a CiviCRM installation for a local networking club.  They are adopting CiviCRM slowly, and at the moment we only have the member's contact records and membership records imported.

We need a report that shows the number of memberships that are of different statuses; they want to know at any given time how many current members, grace members, expired members, etc.

How to do this?

If you are wanting a 'count' for each status, ie a small table showing eg
Member Type X, Status A 12
Member Type Y, Status A 5
Member Type X, Status B 15 etc

and if you are using Drupal, then I built a View to demo how you can do this which you can download from here

NOTE: you may need log in as user/1 (or Masquerade as admin) in order to access the Import View window.

NOTE: this was done in response to the stackexchange question


How to a create custom field that is multi-line text or text area? I want to create a custom 'About Me' field  for a web  profile, but there doesn't appear to be anyway to make a text area or multi-line text custom field.

I know I can set the field length to allow users to enter plenty of text (currently set to 1000 characters), but the input box will still only be a single line.

Of course, in Webforms in Drupal, for example, I can set the length of the input box as well, but, again, still only a single line.

The problem, then, is not that the user can't enter the text I want them to, but that their experience of doing so is disconcerting and uncomfortable.  They can't see most of the text they've entered, which makes editing very difficult and frustrating.

I feel like there must be an obvious solution for this, but can't find it.

Thanks,
Lewis

Use the 'Note' type of custom field to get a text area


CiviCRM Community Forums may I know where to report an issue with "CiviCRM Community Forums" (forum.civicrm.org) pls?
I have been able to create an account and start a thread but one day later, impossible to log in again: wrong password they say.
The strange thing is my id/pwd is still ok on civicrm.org.
Is there a kind a miscommunication betwen the sub domain and the domain?
Thank you.

I would register an account on https://chat.civicrm.org (I don't think it shares logins with the rest of civicrm.org but maybe that's changed).  Go into the "infrastructure" channel and someone should be able to fix any issues.


Rule will not create drupal user record for CiviCRM contact Was trying to set up a rule to create drupal user records linked to CiviCRM records that do not have them,
The rule is this:

EVENT
CiviCRM Contact has been created
Contact has been updated

Conditions
 NOT Drupal User Account can be created for user (this condition creates the user)
Parameter: CiviCRM Contact: [civicrm-contact:civi-user..., Activate Account: true, Send account notification email: true, Instant signin: false

Actions
Create or Load Linked Drupal User Account
Parameter: CiviCRM Contact: [civicrm_contact], Activate Account: true, Send account notification email: true
Provides variables: Created or Loaded Drupal User (civicrm_user)

Show a message on the site
Parameter: Message: Drupal User Linked or...

Unfortunately we don't seem to be able to trigger the rule by updating a contact, we just seem to get this error in the watchdog:

MESSAGE Unable to get variable civicrm_contact, it is not defined.

Does anyone know how to get this working? Thanks!

There's a working recipe on this CiviCRM wiki page.  There's also an excellent discussion on the old forums here.  In particular, I'd make sure you have all the modules named on that second link installed.


CiviCRM password length in Joomla I'm working on a version of CiviCRM installed in Joomla, I'm using a registration form with custom fields of Civi for the registration.
The problem is that CiviCRM does not apply the same checks on passwords as Joomla does.
I have not found solutions in the system, so I'm trying to insert custom controls using hooks.
As indicated I created a file and specified the path and customize the code find on CiviCRM guide for my purpose, but does not detect any changes on the form I'm using.

function joomla_civicrm_validateForm( $formName, &$fields, &$files, &$form, &$errors ) {
  if ($formName == 'Edit') {
    foreach ($fields['cms_pass'] as $key => $password) {
      if(strlen(trim($password)) > 8) {
        $errors['cms_pass[' . $key . ']'] = ts('Password must be 8 characters');
      }
    }
  }
  return;
}

Ok, I found an example on the Civi Wiki and, with a bit of workaround, it finally works:

function joomla_civicrm_validateForm($formName, &$fields, &$files, &$form, &$errors) {

  $errors = array();

  // check we're targeting the right form
  if ($formName == 'Edit') {
    return true;
  }

   $password = CRM_Utils_Array::value( 'cms_pass', $fields );

   // ensure that password is present and valid
   if (!$password) {
      $errors['cms_pass'] = ts( 'Password is a required field' );
   } elseif (strlen($password) < 50) {
      $errors['cms_pass'] = ts( 'Password must be longer than 50 characters');
   }

  return empty($errors) ? true : $errors;
}


what is a "unique open" in a mailing report? Included in a mailings report is data on "unique opens" and "total opens". What is the difference between "unique opens" and "total opens"?

The difference is this, If someone opens an email immediately but then opens it again later on to read it again. CiviCRM will mostly likely track both opens. So in the Total Opens column stat that will = 2. However in terms of unique opens given that its the same person opening twice the unique opens = 1.

Hope that helps


"Page www. ... .com does not work" when Submlitting Event Registration Webform for immediate On-line Payment I use Webform Civicrm Integration to register multiple attendants to an event, and calculate the total fee. (This works fine).

I have included a Contribution Page, which provides the choice : Now on-line / Later.

"Later" works fine, but if I choose "Now on line", I get a page "Page www. ... .com does not work ; impossible to manage this request for the moment ; Error 500".

FYI :

The Contribution Page refers to a CM-CIC Payment Processor (extension), but the "test" processor behaves the same.

The Contribution page alone (via "https://.../index.php?q=civicrm/contribute/transact&reset=1&id=1"), works fine.

It seems that sth is missing between Webform and Payment page

Webform CiviCRM works great with a number of Payment Processors! Especially those that process in-line (e.g. PayPal Pro and iATS Payments - Credit/Debit) - if you want to use https://civicrm.org/extensions/cm-cic-payment you'll have to check in with the Author for it - to see why this is not working for you.

I'm guessing CM-CIC may have a Payment Page? Then that will not work - you need an in-line payment processor.


Tutorial for: "CiviCRM Event OG Config (sample)" Module How does this integration work? What is required to set it up? Documentation is very sparse.

If we want every CiviEvent to have a corresponding OG with the participants synced - is this the solution? Or, is CiviRules/CiviEntity a better route?

I think the better solution is via Drupal Rules as per this pretty ancient blog

https://civicrm.org/blog/eileen/foray-rules-module

I know that since then we have rolled up modules for clients that deliver the various integrations along the lines of

if Event has custom field = X then create an OG
if a person with Event participant role Y is added to Event make then the OG Admin
if a person registers for the event then create user (if not already have one) and add them to the OG.


Is command-line upgrade broken on CiviCRM 4.7.7? I just tried upgrading a very vanilla site from 4.7.6 to 4.7.7.  I ran drush civicrm-upgrade-db, which has worked previously on this site (which receives every point update - it's our internal CRM that serves as a testbed).

I received the following error:

WD php:                                                              [error]
Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException:
You have requested a non-existent service "sql_triggers". in
Symfony\Component\DependencyInjection\Container->get() (line 317 of
/path/to/civicrm/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Container.php).
Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException: You have requested a non-existent service "sql_triggers". in Symfony\Component\DependencyInjection\Container->get() (line 317 of /path/to/civicrm/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Container.php).
Drush command terminated abnormally due to an unrecoverable error.   [error]

Upgrading via the web URL worked fine.  Has anyone else experienced this?

Someone actually provided the answer to another person on the CiviCRM chat channel, so I'm posting it here:

<juri_> "You have requested a non-existent service 'sql_triggers'."
<juri_> anyone care to take a guess? this is civi on drupal 8.
<mollux> juri_ clear the CiviCRM cache, had the same issue yesterday


Adding and storing form fields I figured out how to add form fields using the buildForm hook.  I am adding a select element to a participant profile on an event registration form.  Do the values from the added fields get saved when the user submits the form?  If so, where can I see them?  If not, how do I store them with the other profile info using code?  The custom fields feature does not work (DB Error: Already exists)  right now or else I would use that.

buildForm hook is used to add the elements on the form. To store the values of your select element, you need to look at postProcess hook which is called after the form is submitted.

You'll get the submitted select value in $form parameter. Use this and store the value in your expected table.


How to resolve Array to string conversion error I'm sending a .ods file name into the makeFileName method to get a unique string value for the file name. but it return a file name which is not ending in .ods instead it end with .unknown.
Ex: template_ods_65c986571c9c2737fff370ce4a745015.unknown
but i need a file name like template_65c986571c9c2737fff370ce4a745015.ods.

Other thing is when i assign a returned string value into a variable, it gives me the array to string conversion error.
code
$newName = CRM_Utils_File::makeFileName($value['name']);
Error

Array to string conversion in
/var/www/html/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php
on line 554
Warning: htmlspecialchars() expects parameter 1 to be string, array
given in
/var/www/html/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php
on line 556

I confused with these two error, i'll appreciate if someone could help me to resolve it

For the first question you can go to Administer - System Settings - Safe File Extensions and add .ods to the list there.
For the second one is $value['name'] actually a string or is it an array?