Can a Profile have hidden fields with preselescted or predefined values? I'm trying to create a profile to be used as a form, but rather than having the user populate certain fields, have the form populate them automatically. An example of what I'm trying to do:

The profile form is only presented to people that are registering as guests, therefore I want to pre-select the Membership Type as Guest rather than allowing the user to select the membership type. In fact, I don't even want the user to see the membership type field.

I'm running CiviCRM 4.7.6 on WordPress 4.4.2.

I've used a custom template page with jquery to do something similar. (I wanted the event to assume they were registering themselves and one other person - and NOT allow them to see they could choose how many.)

I wrote a quick jquery statement to preselect the value and then hide the option altogether with css.

https://civicrm.org/blog/hershel/how-customize-civicrm-pages-jquery


CiviCRM MailChimp API Limitations I'm running into an issue that I'm unsure is code-related or workflow-related, so I'm cross-posting on the CiviCRM StackExchange as well. I'm able to configure everything to talk well with MailChimp, but when I do a dry run Pull sync from MailChimp to a fresh CiviCRM group, I'm only seeing 10 Contacts syncing over from lists I know have between 13 and 700 Contacts. I've combed through the issue discussions but don't see any tracking of this particular issue.

As far as I can tell, I'm not seeing any errors Is there an API issue I'm running into? I've tried a configuration both with a mature and a fresh MailChimp account. Thanks!

First check would be to ensure the master group to list includes all the contacts that could be in the sub groups. This is where most people trip up.


How to exclude contacts from a mailing who share an email with a group of contacts? If I'm sending out emails asking for donation, I exclude all the contacts who have donated recently with a smart group. Unfortunately, because we have many contacts who share an email (generally couples), people who donate can still receive an email asking for a donation, because only one member of the couple has a recent donation and is in the smart group. The other contact receives the email as normal.
How do other people deal with this problem? Is there some way we can find all contacts who share a primary email with members of a group and exclude them from a mailing as well? We don't want to exclude everyone with a relationship of partner or spouse as we still want to send emails when the email address is different.

You can find all contacts who share a primary email with members of a group, and save those contacts to a Smart Group, using Civi's APIv4. This solution was developed on CiviCRM 5.32.2 and may not work on previous versions.
Navigate to the API4 explorer within your Civi. Then configure a query as in the screenshot below, or paste the following into your URL bar after the word "explorer" and hit enter:
/GroupContact/get?join=[["Email AS contact_A_email",false,null,["contact_id","%3D","contact_A_email.contact_id"],["contact_A_email.id","%3D","contact_A_email.id"]],["Email AS contact_B_email",true,null,["contact_A_email.email","%3D","contact_B_email.email"],["contact_A_email.contact_id","<>","contact_B_email.contact_id"],["contact_B_email.id","%3D","contact_B_email.id"]]]&select=["contact_B_email.contact_id"]&where=[["group_id","%3D","18"],["status","%3D","Added"],["contact_A_email.is_primary","%3D","true"],["contact_B_email.is_primary","%3D","true"]]&limit=0&groupBy=["contact_B_email.contact_id"]

Note you'll need to select your "donated recently" smart group where I have "Email List - CA" in the screenshot. Also, if you'd like to widen the search to include non-primary email addresses, just delete the "where" clauses that refer to "is_primary".
What this is doing is:

GroupContact... get... Where group_id = x and status = added: Search for members of a particular group (in this case, it'll be your "donated recently" group).
Join Email AS contact_A_email...: get those recent donors' email addresses.
Join Email as contact_B_email...: get email addresses that are the same as the ones we just found, but belong to different contacts.
Select contact_B_email.contact_id: return the contacts connected to those matching email addresses.

Once everything is set up, you can click the Save button and create your smart group. Once you have that, you should be able to exclude these contacts from mailings.
(P.S. There's a quirk about APIv4 which forces me to include the "x.id = x.id" clauses in the joins. I might even call it a bug -- so maybe it will be fixed in future versions.)


Drupal Webform - CiviCRM - PayPal Website Payment Standard - Email Required Issue I am using Drupal 7.53, Webforms 7.x, CiviCRM 4.7.13 with PayPal Website Payment Standard. On checkout in the Webform it is requiring email and we have email in the webform. We can't manipulate billing. Any ideas on how to force this to work?

I figured it out. I had two email fields and the first email listed is the assumed billing address


Advanced Search AND Operator doesn't operate for Multiple Tags Search (at least) Have discovered recently while searching for multiple tags. Even if Search operator radio button AND selected, search for two tags returns results with OR logic. Mean, there is a contact, which has several tags assigned; search by selecting, say, two tags contact has, returns contacts tagged by one of tags, not both of them. Double- and triple-checked. Sounds like a bug, but not entirely sure, since no similar complains found. Will anyone with similar setup (mean, contacts with multiple tags), confirm it works / doesn't work, please.

I think the AND operator applies between fields, not within options of a field.
If you want to search TagX AND TagY you can do this in Search Builder.


Data Protection / GDPR - deleting from logging tables With the new GDPR legislation taking effect in a matter on months, it dawns on me... how can we delete people permanently from the logging tables? My understanding is that the table types are a special archive type that don't allow for deletion of individual rows.

Is that right?

Just to be sure I understand you properly: this is about the right to erasure (a contact ask your organisation to remove any data about them), right?

It's my understanding that indeed you should remove the data both from the live and the log table (as the later isn't a temporary backup but long term archive).

I recall a discussion about changing the format of the archive tables (so the engine isn't ARCHIVE anymore). The impact on the size wasn't that bad for what I remember, so it might be an option.

ALTER TABLE my_table ENGINE = InnoDB

And the only one I can think of to be able to be compliant.

I'd suggest you to check on a backup first, there is a ROW_FORMAT=COMPRESSED
option, but it seems you need to tune your install a bit to benefit from it on a per table basis... and it might not be needed, based on the size of your installation.


How can I add columns to the Accounting Batch screen? I would like to modify the screen at http://mygroup.org/civicrm/batchtransaction?reset=1&bid=332

Specifically, I would like to add columns to the tables listing the transaction records.   Which CiviCRM file would I need to override?

You could do this by amending the profile used by the batching page? For instance on the Drupal demo site the Reserved profiles show a profile for batch contributions. So you should just add the fields to that and they'll shown on the form?


Help: Fatal error doing an export (Civi 4.7.4) I have just upgraded my Drupal 6 site to the latest CiviCRM 4.7.4
All seemed to go well except that when I try to export contact records (using primary fields). I get the following fatal error:

Fatal error: Can't use function return value in write context in ../public_html/sites/all/modules/civicrm/CRM/Export/BAO/Export.php on line 435

Steps I followed:
1. Search for contacts
2. Select Export option
3. Select Export Primary fields
4. Press continue

Some help would be hugely appreciated!

Thanks
Davy

Line 435 in CRM/Export/BAO/Export.php that your error message is referring to says:

if (!empty(self::defaultReturnProperty($exportMode))) {

This will give an error in all PHP versions below 5.5. From the PHP manual (http://php.net/manual/en/function.empty.php):

  Prior to PHP 5.5, empty() only supports variables; anything else will
  result in a parse error

You should be able to fix this by replacing lines 435-437 in Export.php with something like

  $key = self::defaultReturnProperty($exportMode);
  if ($key) {
    $returnProperties[$key] = 1;
  }


"Unknown path" when viewing a newly generated angular page I'm trying to get started learning how to make Angular pages within a CiviCRM extension so I ran civix help generate:angular-page and read some help text about an example. Cool.

Then I ran civix generate:angular-page EditCtrl about/me to follow the example in the help text.

I browsed to /civicrm/a/#/about/me and expected to see some of the content shown in my newly generated EditCtrl.html file.

Instead I saw a page with an error message "Unknown path".

How can I view the angular page that civix generated?

I believe you first need to generate a module, à la civix generate:angular-module. Have you already done that?


Error opening attachment in outlook When I send mailing with an attachment, contacts with use outlook can't open the attachment and received a message like this

I have tried with pdf and doc.
When I download the attachment to my computer, the size of the file is 0 byte.

The problem is the same if I use outlook in the browser.

An idea to solve the problem?
Regards,

Can you try sending gmail? to be sure the problem is on the sender side (civi) and not on the recipient one.

if the size is 0 byte, it might be that you have a limitation in PHP on how big files you upload/process can be. Is this a problem you have all the time or only with these files? are they big?


Membership Directory Search Following the instructions for the creation of a membership directory using profiles we have been successful at creating a searchable directory. However, I wish to use the directory almost like a store location finder to find members near me. Ideally this would use a single search box where the visitor could enter a location then return results of any nearby members and by default use location services to display the visitors location as a default.

How can I employ such a search?

You could search on a city to show people in that location. And have the option to show a map.

See my post on How to create member listings/directories/maps

Unfortunately this only shows contacts in the city, any one just outside will not show. You could have something custom developed where clicking on a contact shows the contact centered on the map, but lists all the other contacts so they can be found by moving around on the map.


How to get the new record ID, when adding a record to a multi-value custom field using the API? The API calls I know of that add a record to a multi-value custom field, don't return the ID of the added record (which you can then use to access the value for the specific record in the form custom_XXX_YY). Is there another way of finding it?

Observed:

$ drush cvapi CustomValue.create entity_id=154621 custom_368=Test
Array
(
    [is_error] => 0
    [version] => 3
    [count] => 1
    [values] => 1
)

$ drush cvapi Contact.setvalue id=154621 field=custom_368 value=test
Array
(
    [is_error] => 0
    [version] => 3
    [count] => 2
    [values] => Array
        (
            [id] => 154621
            [custom_368] => test
        )

)

$ drush cvapi Contact.create custom_368= id=154621
Array
(
    [is_error] => 0
    [version] => 3
    [count] => 1
    [id] => 154621
    [values] => Array
        (
            [154621] => Array
                (
                    [id] => 154621
                    [contact_type] => Individual
                    ... snipped ...
                    [modified_date] => 2015-05-14 11:20:56
                )

        )

)

Background:

In our custom frontend I want to have an 'Add new qualification' link, which creates a record in the appropriate custom field group and then adds the set of fields to the form. The screen size occupied by a set of fields for one qualification is such that I don't want to always have a blank set of fields on the screen for adding a new record, before I've clicked the link. The record's row ID is necessary to add the form fields so they know which record they apply to. Each field is 'inline editable' / sends an update call immediately.

I don't think it's possible using the api right now.

So what you could do in the mean time is create a custom function to do it and ideally emulate the api call using the same input params and output so you can replace it with an api call when the api is fixed.

Not tested but should look like :

function insertCustomValue($params) {

  // prepare input params
  $dummy = explode('_', $params['field']);
  $cfId = $dummy[1];
  $cfValue = $params['value'];
  $entityId = $params['entity_id'];

  // get table name and column name
  $cf = civicrm_api3('CustomField', 'getsingle', array('id' => $cfId));
  $table_name = civicrm_api3('CustomGroup', 'getvalue', array(
    'id' => $cf['custom_group_id'],
    'return' => 'table_name')
  );
  $column_name = $cf['column_name'];

  // insert the new value in the database
  $sql = "INSERT INTO $table_name (entity_id, $column_name) values (%1, %2)";
  $dao = CRM_Core_DAO::executeQuery($sql, array(
    1 => array($entityId, 'Integer'),
    2 => array($cfValue, 'String')
  ));

  // get and return the id of the new row
  $cfId = CRM_Core_DAO::singleValueQuery('SELECT LAST_INSERT_ID()');
  return array(
    'is_error' => 0,
    'count' => 1,
    'values' => array(
      'id' => $cfId,
    )
  );

}

But of course you could also help fix the api which would be better :)


Redirect to dashboard instead of redirect to add form I've installed wordpress Version 4.9.8 with civiCRM.

Now i have create one new menu name is "userdata"

But when i click on menu "Userdata" it will redirect to the dashboard.  Instead of dashboard it will show userdata add form.

Drp, Welcome to stackexchange!

I guess userdata link is the one you have created through extension/plugin and is also registered using xml and have menu rebuild. When menu link is not registered in CiviCRM it will default redirect to CiviCRM dashboard page.

If you haven't registered than

Register menu link using hook_civicrm_xmlMenu.
Rebuild menu by running /civicrm/menu/rebuild?reset=1 or Navigate to CiviCRM >> Administer >> System Settings >> Cleanup Caches and Update Paths >> Cleanup Caches.

HTH

Pradeep


Only Exposing CiviCRM Contact from Active Group in Drupal Views? We have a directory (along with a Leaflet map) of our affiliates. Currently, the view is filtering the map and accompanying table of contacts based on the group ID (e.g. 200 = current affiliates).

What I've noticed is that when we remove an affiliate from said group, rather than delete them, the contact record still shows up in the Drupal view. I've added the "CiviCRM Groups: Is Active" filter, however that doesn't seem to be working.

Right now, these are my filters and this is the new filter setup I provided to the view:

CiviCRM Address: State/Province (exposed)  AND
CiviCRM Address: City / Suburb (exposed)  AND
CiviCRM Contacts: Display Name (exposed)

AND

CiviCRM Groups: Group ID (= 200)  AND
CiviCRM Groups: Is Active (True)

Any ideas on what I'm doing wrong?

When you remove someone from a group, the status of their group membership is changed from 'Added' to 'Removed', so try adding another filter on status:

CiviCRM Groups: Contact Status (= Added)


Very New To Cron - Setting Up Schedule Jobs with Dreamhost I'll try to be as thorough as I can while getting straight to the point.
I am brand new to the idea of using WP-CLI, SSH, and Scheduled Cron jobs.  Everything is Greek to me, so I am in desperate need of help.

I'm trying to remove the System Network Error that's triggered because scheduled cron jobs aren't set up on CiviCRM (v5.17.2).

The site is hosted on Dreamhost (shared server).  I tried following the help documentation on CiviCRM's website (https://docs.civicrm.org/sysadmin/en/stable/setup/jobs/).  I've completed steps one and two.  The only scheduled job api that's active is the default version check job.  The log came back with a "success" message when I executed it manually.

With step 3, I tried the WP-CLI method since it's a WordPress site.  I tried multiple combinations.  I wasn't sure exactly how to call the job.version_check api.  The instructions said to have a path to wp-cli, so I assumed that it would be to the folder in the plugin.  When I did, I got back a message saying "this is a directory", which I assume was good and it would work (although, I wasn't sure what I was calling since there's just the "civicrm.php" file in the folder).  Reading further in the article, I though I was to have it point to the "cli.php" or the "cron.php" files in the bin directory of the plugin.  Each time, I would get a "permissions denied" message.  I would change the permissions of the files and I would get "no such file or directory" and "command not found" messages, along with the "permissions denied" message.

When I got the "this is a directory" message, I moved on to step 4 and created a scheduled cron job using Dreamhosts' cron scheduler.  I would still get back "permissions denied" messages.  So, I read this article (https://civihosting.com/blog/how-to-make-a-cron-job-for-civicrm/) and created a .sh file.  After it was all said and done, this was the last message I got:

sh: /home/dh_6x6vh8/civicron.sh: /bin/sh^M: bad interpreter: No such file or directory

Now, I'm stuck and I have no idea what to do or what I'm doing.  I'm sorry for such a long explanation, but I wanted to make sure I was thorough without being too lengthy (which I did more, but it's a long story... if your interested in full details, please reach out).  If there's a wonderful person in this system who can help me, please understand that I'm very new with cron jobs/SSH/CLI/etc, so whatever instructions you give, you'll have to talk to me like a little kid.  Thank you so much for your help!

I just set it up with dreamhost shared hosting.
I went into cron jobs in my dreamhost control panel and added a new job.
under command to run I put
"/usr/bin/php /home/DREAMHOST-USER/EXAMPLE.COM/wp-content/plugins/civicrm/civicrm/bin/cli.php -u WP-USER -p WP-USER-PASS -e Job -a execute"
Obviously leave out the quotation marks and change all the sections in CAPITAL letters


Honoree section not appearing on contribution page even though enabled I have a website on Drupal 7 that is using the latest version of CiviCRM (5.13.4).

I'm trying to set up a contribution page with an honoree section. The options appear when setting up the contribution page and I have set the section as enabled without issue but when viewing the page, the section where a user should be able to enter the honoree information isn't appearing.

I have checked for errors, turned on debugging, etc and nothing relevant has appeared so there aren't any clues as to why it isn't appearing on the front end.

I've scoured the internet but I can't seem to find much help so hopefully someone here will be able to make sense of what might be happening.

Any advice / help would be greatly appreciated!

EDIT:
I can see in the source code there is the JavaScript for the honoree section but that is all. The console gives no errors as to why it isn't appearing.

After a lot of frustration, I found a custom template that the donation page was using with some JavaScript that was supposed to show the honoree section when it was enabled.

This was created a few years ago and evidently no longer worked.

Disabling this template allowed the honoree section to come through and show on the donation page.


How to add a second photo to a mailing block How can I change a mailing block to add a second photo

Each (mosaico) block is configured for one or more images. If you want a block with a different number of images, choose a different block.

You might be able to trick mosaico into including an image where it's not expecting it, but that would defeat the purpose of what it does for you (i.e. mobile + support for many different mail readers).


Drupal Forms + Civicrm Contributions, Doesn't process Contribution? I'm using Drupal 7.43, civicrm 4.7.4., drupal webform 7.x-4.5, and webform civicrm integration 7.x-4.13.

I made a form that would allow users to apply for paid membership.  There are a few pages of civicrm tied fields (asking for name, address, other relevant questions), and then a page that ties to a civicrm contribution page.

However, when I test out the page there is some weirdness with the contribution page.  The form loads settings from the civicrm contribution page, including a button to 'submit contribution'.  Below this is the arrow buttons to go forward or backward on the webform.

When I click just on the button to go forward to the preview page, it goes to the preview page, but the contribution is not processed.  If instead I click on the 'Submit Contribution' button, it acts as though I clicked the 'previous page' button and still doesn't process the contribution.

Any thoughts on what might be causing this?

I tried out the contribution page without the Drupal form, and it processed the payment.  So I think it's related to the Drupal form.


Autofiling email activities via EmailProcessor to ORGANIZATION I'm successfully using the Autofiling email activities via EmailProcessor feature for Individuals.

However, when I try to automatically associate to an Organization with an email address the email is not attached as an activity. Instead CiviCRM creates a NEW Individual with the email contents attached as an Activity.

Is there a way to have CiviCRM's Email Processor look at Individuals AND Organizations for the Autofiling of email activities?

There's a way to do it by implementing a PHP override or (not advised) hacking CiviCRM core.

The logic behind only filing emails on individuals is that organizations don't actually send emails.  That said - you surely know your needs better than I do.

The file in question is <civiroot>/CRM/Utils/Mail/Incoming.php.  Around line 461 is a function called getContactID.  Change line 462 from this:

$dao = CRM_Contact_BAO_Contact::matchContactOnEmail($email, 'Individual');

to this:

$dao = CRM_Contact_BAO_Contact::matchContactOnEmail($email);

If you hack core directly, you'll have to make this change every time you upgrade.  You can also do a PHP override, which is somewhat better - but you'll still need to occasionally compare the file to see if any other changes have crept in.


New Website Users Connecting to Existing Member Record Is there a way to use an ID provided to members by our organization so that they may enter it (and say their last name) to create a new account by themselves and automatically assign the account to their membership record?

We're importing our membership records from a csv file to our contacts and adding them to the CiviMember data manager, but it is not likely that we'd want to create website user accounts for every member.

Is this possible, or is there a better way for me to handle the membership and user creation on our website? I'm new to CiviCRM and am still trying to get my head wrapped around it. Thanks in advance!

To separate this question from the duplicate question.

Basically, we want to host all membership management using CiviCRM. Some of the members will want to signup for website accounts to manage their information, and some will not (aka our 80+ year old individuals). But since our membership will already be hosted on our website, I want members to assign their membership details to their account automatically by entering in their Membership ID (and say, their last name) which would connect to the "External ID" in the membership record.

Or is there a better way to do this? I'd like to do this automatically, but if there was a way to do the above and manually approve it, that'd work too for the time being.

I believe how well this works will depend on your unsupervised deduplication rules set in civiCRM. If you used external ID, I think you would actually need to change the default rule as well.

If you haven't made any changes, then requiring first name, last name, and email address when creating a Drupal account will link the Drupal user to the correct civiCRM contact (and related membership) the vast majority of the time (As mentioned by petendz in the comments).

This is the setup that we use, where all membership is managed in civiCRM but not all members are Drupal users. The only times when we have user accounts mis-linked is when someone signs up for a Drupal account and uses an email address that we don't have in our database and spells their name differently.

In those few cases, a staff member can easily merge the civiCRM records and maintain the link to the Drupal account, not requiring any action from the users perspective.


CiviReport Max Participants I currently generate an Event Report of upcoming events that shows how many participants are registered for each event, but I'd also like for it to show the max participants allowed. When looking through the fields available in the Columns tab, I don't see Max Participants or anything like it.

Any guidance would be appreciated!

There's a field called "capacity" on the event income summary report. Is that what you're looking for?


CiviContribute page broken after upgrade to CiviCRM 4.7.29 I am running Drupal 7.56, with PHP 5.6.31.

I upgraded to CiviCRM 4.7.29, and now my membership renewal page
.../civicrm/contribute/transact?id=1
comes up with HTTP ERROR 500.

The PHP error log shows this:
PHP Fatal error:  require_once(): Failed opening required 'CRM/Core/.php'

It is trying to load a ".php" with no name before the extension. What could cause that?

I am running Joomla and ran into the same issue. I was able to correct it by applying the changes on this page:
https://github.com/civicrm/civicrm-core/pull/11454/files


How do I move a contribution from one contact to another? The site admin accidentally assigned an Event payment to himself - how do I move the contribution to the correct contact? I understand that insofar as it's an event, it's not as simple as changing the contribution contact ID in phpMyAdmin.

I would think this would be a common request - any suggestions? Thanks in advance!

This biz.lcdservices.movecontrib extension should do what you need but it has not been through the extension review process - use with caution.

  CiviCRM extension to support moving a contribution from one contact to
  another. This can be done through the contact's contribution tab or
  through a Find Contributions search result action.


How can I run extension DB updates? When I update my civi extension simply by changing the codebase to the most recent version (because the most recent version is not showing up in the config options), my extension is broken.

I updated "nz.co.fuzion.omnipaymultiprocessor" from 1.7 to 2.2

Probably because some database changes required in the new version?

I'm wondering if there is database update script like the drupal update.php equivalent?

The equivalent would be any of these:

Navigate to civicrm/admin/extensions/upgrade?reset=1
Navigate to "System Status" or "Manage Extensions". Those pages will link to the above.
On CLI, run cv ext:upgrade-db (Download cv from https://github.com/civicrm/cv)


file permissions with hosted wordpress I seem to be regularly running into problems with file permissions running on WordPress. The two specific examples are that image browsing and upload didn't work in KCEditor (due to permissions for KCFinder) and the tracked links in bulk mailings were failing. In both cases I got 500 errors from the browser. I found that I needed to change directory permissions to 755 from 775 and file permissions from 664 to 664 in appropriate places. It seems rather random whether directory/file permissions are 775/664 or 755/644.

I think this is due to the way my hosting provider sets up WordPress and does not allow 775/664 permissions and from what I read this will be a common situation with hosting providers that use suexec.

Changing file permissions manually is a work around, but tedious and unreliable. I may be missing some and things not working properly because of this, but not being so obvious. And when it comes to an upgrade I'll have to go through it all again.

Is there a reason why the WordPress CiviCRM is distributed with these file permissions? Is there a reason for the variation in file permissions (and what is the logic)?

If this can't be changed in the distribution, can I safely change all 775 to 755 and all 664 to 644 and how might I do this?

I don't think the versions are relevant, but this applies to CiviCRM 4.7.24 and WordPress 4.9 and also other recent versions earlier this year. The hosting provider is SiteGround.

It depends under which user your hosting provider is running the web server (or the PHP process if using FPM). Sometimes the web server runs as your user, sometimes it runs as a generic www-data/httpd user. If you have ssh access and your user can view processes, you can run:

ps aux | grep -E '(www|http|apache|php)'

(many cpanel-type hosting providers might not even let you see the list of processes)

In any case, I think it's safe to default to:

Any files/directories with php files should be 755/644
Other directories, where there might be uploads, cache files, logs, should be 775/664. For example: wp-content/uploads/civicrm/.

Related questions:

Are there recommended directory ownership and permission settings for CiviCRM files?
Unable to write file
CiviCRM does not have permission to write temp files on new server


How do I find users who have resubscribed via {action.resubscribeUrl}? As a matter of ensuring consent is up to date, and because our bounce handling is broken, I have asked my newsletter subscribers to either resubscribe, unsubscribe or opt out.

The unsubscribe and opt out appear to work properly.

So now my list contains two sets:

people who recently resubscribed (via the {action.resubscribeUrl
token}
people who did not recently resubscribe (inactive addresses,
broken addresses, people who opened but didn't respond, people who
didn't open this particular email).

I would like to search for the first bunch (in part so I can infer who is in the second bunch).

The mailing reports do not appear to track users' resubscribe actions and I can't find it in the Advanced Search. I also can't find any reference to the resubscribe action in the record of a particular user I know resubscribed.

Can anyone explain how to do this?

Thanks!

I checked in the code [CRM_Mailing_Event_BAO_Resubscribe::resub_to_mailing()] and the resubscribe function does not unfortunately leave any traces of the action (in logs or otherwise), does not do anything if the person is already included in the groups used for mailing, and just adds the contact to the groups used for mailing for which the contact has the 'Removed' status.

So this leaves you with 2 sub-optimal solutions:

if you want to start tallying these from now on, and have PHP programming skills, you can create a simple CiviCRM extension that would implement the hook unsubscribeGroups and log all operations of type 'resubscribe' (cf. https://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_unsubscribeGroups)
if this is too late, or you do not have the skills, you can always search for contacts that have been recently added to the groups you are using for mailings, but this will be vastly incomplete as missing all contacts that have never been unsubscribed in the first place.


Recommended version of PHP? What PHP version would you recommend for running CiviCRM version 4.6.8?

I was using an old version of PHP (4.3.3), but that is no longer sufficient to run CiviCRM and 5.4+ is recommended in the documentation. Would it be wise to upgrade to the latest version 5.6.13 or might I be safer with something like 5.5.29?

The safest bet is probably 5.5. 5.6 ought to work but hasn't been tested as thoroughly. As a core CiviCRM developer I currently use 5.5.9 in my test environment.

You should also look at which version is recommended for your CMS, often that is more of a limiting factor.


How do I contribute to API development? I am a CiviCRM user.  I am the informal technical support behind a CiviCRM member and the reason that they are a member (Florida Native Plant Society).

I seem to have a continual battle with limitations in the API.  I would like to know how I can interact with the people involved in development of the API.

I cannot claim to be a CiviCRM coding expert, but I am php fluent and MySQL fluent.  I think my experience with APIs (DonorPerfect and home brew, and getting around the CiviCRM api weirdnesses) might be useful to improving the CiviCRM api.

Shirley Denton
Communications Chair,
Florida Native Plant Society

I would suggest you sign up for an account with civicrm.org and hence on chat.civicrm.org (unless the latter can be done without the former) and then join the API channel there. Am sure they will love to hear from you. I understand having a tolerance for jokes about 'warm beer' can be helpful.


How to Add contacts to an Event or Membership from the Search task list I am sure that Advanced search results used to provide the Actions of 'Add Contacts to Event' and 'Add Contacts to Membership'.

But I can't find any reference to this in Civicrm 4.7, neither in our site, nor the demo sites - nor the current literature.

I'm on 4.7.27, Drupal latest.

I found these earlier references to Add Contacts to Event:
https://docs.civicrm.org/user/en/latest/events/manual-event-registration/
https://issues.civicrm.org/jira/browse/CRM-1988

I've also looked in Drupal Permissions without seeing anything obvious there. We're not using ACL.

Any ideas whether these two features are still available? They'd be massively useful to us.

'Add Contacts to Event' was renamed to 'Register participants for event'

I don't recall an 'Add Contacts to Membership'


Working with Individual Contact Suffixes I'm having a horrible time with individual contact suffixes,  Struggling with input, display and reports having to do with suffixes.  I'm about to create a new custom text field for suffix(2) and abandon the original suffix field.  Whether I can modify the standard displays to accommodate change field change, I don't know.  In the old days there would quickly be a discussion about something like this on this board, frequently ending up with discovering the system was just fine and I needed to look at the issue a different way.

Relevant previous thread - found others with this unresolved issue on this forum, but could not post a general reply, seems to be blocked:
https://forum.civicrm.org/index.php?topic=10948.msg47111#msg47111

My specific issue is that for activists that they may have multiple suffixes.  John Smith II may be an RN and also MSW.  So there are many many possible combinations.  In our case a text field may work better.  However, I entered all the combinations we've run across so far, afraid of the data coming in from spreadsheets, so changed the values to the same as the dropdown display.  The Suffix appears OK on the view / edit, but on reports just shows up as a 0.

Have others run into this issue - suggestions?

I consider things like RN and MSW to be qualifications that should be dealt with in some other way rather than adding them to the suffix field.

A contact is always Charles Montague III but he is only a RN whilst he maintains his regisitration as an RN which will involve a certain number of hours of professional development and practical work each year.

If you need to be able to search for people with a particular qualification then a custom multiselect field to deal with them would be the best option I suspect.  The final option could be Other, and you would have an associated free text field so they can specify exactly what you have left off your extensive list.

Alternatively, if you just want to be able to tack these on after the formal name, then a free form text field may be easier.


Civi 4.7.11 Update on Joomla 3.62 with receipts In addition to some CkEditor issues - I am having issues when trying to print receipts  - Thoughts ?
   @import url(/administrator/components/com_civicrm/civicrm/css/civicrm.css); @import url(/administrator/components/com_civicrm/civicrm/bower_components/font-awesome/css/font-awesome.min.css);    Sorry but we are not able to provide this at the moment.  is not of type String

-- I wanted to thank Brian S for tracking this down and hopefully he will post the fix to the core team.

It was a bug in core as a result of a recent change. The code was looking for the payment processor ID associated with the contribution. But if you have an offline contrib, there is no transaction ID or processor, and the query to do the lookup was triggering a fatal error if the value was null.


CiviCRM on Joomla or WordPress? Any recommendations? Does anyone have a recommendation for choosing Joomla or WordPress as the framework to run CiviCRM? Or some high-level pros and cons for a CiviCRM newbie? I'm less experienced with Drupal so I'd prefer not to go that route.

Any help would be much appreciated.

Thanks!

The integration with Drupal is still the best.
WordPress is slowly catching up, but not there yet.
Joomla has the least integration.

So if you have the choice between Joomla and WordPress, go WordPress.


What replaced the "access CiviCRM" permissions? There used to be a CiviCRM permission in the CMS for "access CiviCRM" - and most of the resources mention this.  But its gone now (CiviCRM v 5.33, Drupal 7.78) and I need to give some users contact, event, activity, contribution creation & edit permissions but not "administer CiviCRM" permission.
The result is that the CMS role "CiviCRM user" (different from "CiviCRM Administrator") cannot access CiviCRM unless I give full CiviCRM administration privileges.
What is the current best practice for giving this set of permissions?

Internally it's still "access CiviCRM". The label changed to "access CiviCRM backend and API".
https://github.com/civicrm/civicrm-core/commit/d9a37cbcc18a593635360ce05f236dcd9ec7d93e#diff-410497db8c86f6ba1a897c533db8f391a25d2cee7b12852bb743b2dbed82d86aR764


When importing memberships into 4.6.8, what does ""The membership cannot be saved because the status cannot be calculated" mean? I am attempting to import and update existing memberships into 4.6.8, using the same steps that have worked successfully previously, but I'm getting an error.

I have created a .csv file with (existing) Membership ID, (new) Start Date, (new) End Date, and Membership Type. For Membership Type I had used the text Monthly Sustaining Membership successfully in the past. I switched to import Membership Type ID of 2 after my first import error. I believe Membership Type ID (not the text value) is now required.
On attempted import, I get the error "CiviCRM has detected invalid data and/or formatting errors in 40 records. These records have not been imported.
You can Download Errors. You may then correct them, and import the new file with the corrected data."
I download  the errors. The reason for the error for each record is "The membership cannot be saved because the status cannot be calculated."
I have not received this error with previous successful imports.
The Start date for the updated membership is the same as the End date for the previous monthly membership, not a problem with past imports.

I don't want to simply import these as new memberships, I want to update the existing memberships.

Any help appreciated. Thanks so much.

This error is part of CRM_Member_BAO_Membership.  It's triggered when there's no membership status that fits the dates in question, and so this error depends on the day you do an import!

For instance, if your memberships statuses are:
Start Date to End Date = Current
End Date to (End Date + 1 month) = Grace
(End Date + 1 Month) to Any = Expired

What happens if you import a membership with a start date of 10/25/2015 on 9/22/2015?  It's before the Start Date, so none of the statuses match.  This causes this error.

If you're getting this error and this is definitely not the case, replicate the problem on the demo server, you may have found a bug.


Custom Field that is a Foreign key to contact in Custom Group that extends Event is not updated on merge of contacts I have created a Custom Group for Events. This Group has one custom field Organizor which is a autocomplete with contacts.
But on merging the contact the Organizor custom field is not updated accordingly.

This is something not handle in CiviCRM at the moment when two contacts are merged. I am not sure if any one has submitted fix for this issue. You can either fix this by adding code  to update contact_id for all contact reference custom field in core or through hook_civicrm_merge hook via extension.

HTH

Pradeep


Using the cron facility I have unsuccessfully been trying to get the cron facility to work and would like someone to help me please.

I am working on a Joomla 3 site.  The CP provides a facility to create a cron job which needs the timing codes (no problem there) and the command line.  OK, so I insert a command line which points to the cron.php file and passes the three parameters in the URL i.e. http://www.zoolake.co.za/administrator/components/com_civicrm/civicrm/bin/cron.php?name=username&pass=password&key=site-key&task=who_knows_what (I used the correct username, password and site-key)

As the parameter names given in the documentation are not correct (I examined the cron.php file to establish the correct names) I changed them to the ones shown above.  However, I don't know what to put into the job parameter and the documentation is silent on that.  I have tried "job.execute" but that produces an error.  I have copied the link from the manual link on the schedule jobs page, but that too doesn't work.  Please can someone help?

I have got it sorted.  I had made the following errors:
1. The command line doesn't need the parameter "task", so only the first three.  This worked when I used that amended URL as a url in a browser but then I had to include it in the control panel of the hosting site.
2. For the cron job facility provided by the hosting site in the control panel, I had to change the url to:
home/public-html/components/com_civicrm...etc.
Then it all worked well!


Is Joomla 4.0 version in the works? What is the timeframe for supporting Joomla 4.0? Is a compatible Civi version in the works for it, although Joomla 4.0 is still in alpha?

Currently, 2019/08/20, there is no activity with regards to Joomla 4.0 compatibility with CiviCRM - I would imagine that this will be prioritised when Joomla 4.0 enters the Beta phase.

It would be useful for the CiviCRM community if those interested in this would test Joomla 4.0 and CiviCRM Stable and report any issues to the CiviJoomla issue queue.

Update

Since the initial revision of this answer (and evidenced at the issue queue link above) there are now patches/issues for CiviCRM on J!4 and there’s definite progress/momentum towards getting a better J!4 + Civi than J!3 + Civi.


How do I set up a cronjob to run scheduled jobs? I have a Joomla 3.3.3 installation with CiviCRM 4.6.10 and Siteground is my host. I have never set up a cronjob before. I have tried to use Sitegrounds Cronjob tool in cPanel which uses Linux commands which I am also unfamiliar with.

The support staff helped me create a command string - /usr/local/php53/bin/php-cli /home/ashguild/public_html/home/administrator/components/com_civicrm/civicrm/bin/cron.php - but I get the following

ERROR: You need to send a valid user name and password to execute this file

I haven't been able to find out how to include the username/password in the string or even if that's really the problem. As you can tell, I am very inexperienced and would appreciate any help I can get. Thanks.

you should add directly after cron.php

?name=username&pass=password&key=site-key

so it will be in your case:

/usr/local/php53/bin/php-cli /home/ashguild/public_html/home/administrator/components/com_civicrm/civicrm/bin/cron.php?name=username&pass=password&key=site-key

The site-key is generated during install and can be found in civicrm.settings.php.

For your joomla you should be able to find it in
/home/ashguild/public_html/home/administrator/components/com_civicrm/civicrm.settings.php


How do I open a case that started more than twenty years ago? We have one client whose case started 25 years ago.

This falls out of range of the allowable open case date range and produces this message:

Is there a way to expand/change this date range?

Yes, you can expand this range in Administer > Customize Data and Screens > Date Preferences.

Change the start Offset of activityDateTime class to 30.


How to remove "Extended Demographics"? Years ago we tried out CiviHR and it added something which looks like a set of custom fields, called "Extended Demographics". We uninstalled the extension but this did not go away. I can't find anywhere in Civi settings how to disable or remove it. I've ignored it till now but we are about to give a lot more people access to Civi and it will confuse people having irrelevant (and very personal!) fiends on there.

I suspect it was a bug in CiviHR that caused it to be left behind. If I want to remove it from the database using MySQL (which I am very familiar with) then is there anything I need to know so I don't break anything? We have backups, but the less blindly I can bash at the live site the better.

Obvs if there is a setting I've missed that would be much better

The easiest would be if you can find it in the CiviCRM custom groups? Using Administer/Customize Data and Screens/Custom Fields. If that does not work, check the table civicrm_custom_group. You will probably see an entry there with the column name 'is_reserved' having the value 1.
If that is the case, change the value for 'is_reserved' to 0 and check if you can see the custom group in the Administer menu now?

This would be the best way as you would delete all that you want to delete. If that fails, shout again?


Online Application with a small processing fee required on submission Using WordPress and iATS Payments

I need to setup up an online application for our school.  We charge a $25 processing fee. In reading the threads here, it appears I will need to use CiviPetition to do the Online Application. Or I was thinking about trying CiviGrants with the Grant Application Extension.  Does anyone know if we can require a fee payment with submission using either of these methods?

For Grant Application on Drupal: I recommend webform_civicrm module for application workflows:

collect all contact info/fields you need (parents + child(ren) + emergency contacts)
store the relationships between these contacts
make it a nice looking multi page application
add payment field(s) in the process


Update membership status automatically Using CiviCRM 4.6.9 on Drupal.

We've never enabled automatic updating of membership status, but now it's time.

How to do this?  I remembered that there is a Scheduled Job for this, but in looking at the description it says that it's obsolete as of v 4.3.

It seems this functionality has migrated over to Scheduled Reminders, however we had not planned on doing membership reminders automatically.  Our membership director is very comfortable sticking with her own mass emailing of membership reminders on her own schedule.

Suggestions?

I think the reminders portion of the memberships has migrated to "Scheduled Reminders" but I believe the status update portion remains in the "Scheduled Jobs" area.

Once you get to 4.7 that warning about reminders is gone:


Upload a contact image via the API Can someone give me a simple example of how to upload a Contact image via the API? I am guessing it will involve a call to the File API as well but not sure.

I have the original image as a URL but want to store it in CiviCRM (not just reference the URL).

Bonus points for a nicely commented answer :)

Thanks!

Contact Image URL is directly stored in civicrm_contact table, so I think if you have the URL which can display an image, you should be directly able to use the contact create API as below -

$result = civicrm_api3('Contact', 'create', array(
  'contact_type' => "Individual",
  'first_name' => "first",
  'last_name' => "last",
  'image_URL' => "<url>",
));

If you're on version < 5.0, the contact summary page will render the image only iff the URL is in form of http://site-name/civicrm/contact/imagefile?photo=imageName.jpg and your image file should be present in your custom file upload directory.

There is now a patch(included in version 5.0) which allows the contact summary page to display any URL image irrespective of the photo param in the URL.

If you want to download a copy of a remote image to your local file system and use that, you could do something along the lines of:

$contactId = 123;
$imageName = 'jitendra.jpg';
$path = Civi::paths()->getPath(Civi::settings()->get('customFileUploadDir')) . $imageName;
file_put_contents($path, file_get_contents('https://i.stack.imgur.com/yjnic.jpg'));
civicrm_api3('Contact', 'create', [
  'id' => $contactId,
  'image_URL' => CRM_Utils_System::url('civicrm/contact/imagefile', ['photo' => $imageName], true)
]);


CiviCRM Smart Group Based on Contact's Drupal Role I need all users of a particular Drupal role to be added to a CiviCRM Smart Group. (All Drupal users are currently also CiviCRM contacts.)

The site uses CiviCRM 4.4.21 and Drupal 7.56

CiviCRM Group-Role Sync doesn't work with smart groups - but you can make a static group to sync to and make it a child group of the smart group.


Is there a function or extension that shows one view in a case containing the content of the Summary and Details fields of all activities We are seeking to show, preferably in the management of a case not as a separate report, a list of the Summary and Details fields of all activities in a case. The goal is to promote the use of cases. Currently, our user resistance focuses on the lack of a view where all of the text written by self or others on the case is tucked away inside each activity and not visible as one cohesive narrative. Ideally, the texts could be edited from this new view. The rows in the view would probably be in chronological order.

The print report link on manage case might satisfy the need to see a comprehensive list in a view. It's not editable though.


CiviBooking Installation I have tried to load CiviBooking extension in the Demos.  They install fine and are enabled, yet I cannot access anything that resembles elements of a booking extension.

The problem is most likely that you need additions CMS permissions and won't be able to set them via the Demo sites.


No Address on Member Badge I am trying to print a member badge ID but the address is not showing.  I have it in the system but not displaying on the badge.

Welcome to Stack Exchange!

By default, the postal address doesn't appear on the badges.  You need to go to Administer menu » CiviEvent » Event Name Badge Layouts to customize what's displayed.


DB Error: no such field afer civicrm_domain truncate In an attempt to solve an issue of

  'Please make sure the folder is writable' in
  .../sites/all/modules/civicrm/packages/IDS/Monitor.php

I started looking for solutions in the forums. I followed an advise which became fatal for me. The advise can be read here: https://forum.civicrm.org/index.php?topic=5390.msg41785#msg41785 , namely to truncate civicrm_domain, which someone confirmed to be effective. It was effective for me in that it broke civi completely. Now after log-in I get everywhere the error:

  Sorry but we are not able to provide this at the moment. DB Error: no
  such field

How to repair civicrm_domain?

Try restore that one table from a mysql backup.

If you don't have a backup - then try populate the id, name, description, version, contact_id. Set config_backend, locales and locale_custom_strings to NULL (i.e. their default) - these will be regenerated - as you reconfigure your CiviCRM (settings, components, countries, currencies, etc). This is for a 4.6.x site


After upgrade to 5.6 status still shows 5.4.0 I have CiviCRM for Drupal 7. Just upgraded from 5.4.0 to 5.6.0 via drush. Everything seems OK, including database. Drupal module page shows 7.x-5.6.0. However, CiviCRM status page still thinks that I have 5.4.0 and suggests that I either apply patch to 5.4.1 or upgrade to 5.6.0. I deleted template_c files... How come?

I suppose, never mind... By the morning it started showing everything correctly. Still curious, where this information is coming from - maybe running cron in CRM changed it. I ran cron in Drupal - but probably not in CiviCRM


Do Stripe webhooks work for refunds issued via the Stripe website? Webhooks are working fine for Stripe payments.    Refunds issued for events that were cancelled are showing an error on the Stripe account.   Should refunds issue calls to Civi for the transaction?

Refunding from the Stripe side has worked for some time.


How does CiviCRM handle international mailing addresses with unusual formats? I'm working with a non-profit that is exploring CiviCRM as a successor to their old FileMaker database.  I've been doing some experimenting with a demo site.  One of the biggest problems with their existing FileMaker database is that international addresses don't all follow the same format as a US address.

What I mean by that, is US addresses all follow this:

[Street Address 1]
[Street Address 2 (if needed)]
[City], [State Code] [Zip]

This is problematic for countries without that same format.

I notice the fields all look the same style in CiviCRM.  Is this problematic for users?   I'm concerned both for data input issue as well as output, for example, trying to send out a mass mailing.  Am I going to have issues with this as well?

I'm running CiviCRM on WordPress on a Digital Ocean Droplet.

You can control the address format in Administer menu » Localization » Address Settings, so your mailing labels generate how you'd like.

What CiviCRM does not currently do is print different mailing label formats based on the country of the record.  I've got a proposal to a client who will fund this improvement if the proposal is accepted, but at this time I don't know.  Feel free to connect with me on https://chat.civicrm.org (name is "junglebird") if you'd like to be kept in the loop.


how do I find a new page I just created so that I can link it on another page? I just created a new Basic page, and I want to link to it on another page, but I can't find it when I browse for it in the Create Link option.  I'm VERY new to this platform.

Never mind. I just went into my browser history and found it that way, but it seems like there must be a better way.


Is it possible to display Event Custom Data when openning a pertaining Webform? When you open a Webform for an existing Contact, the Webform displays all the Contact info, including Contact Custom Data.

But, if the Webform contains Participant Custom Fields which had previously been filled, those are not populated, and you are blind for modifications.

Is there a way to have those Participant data displayed as well as Contact data ?

My notes suggest we added this feature about 7 months ago and you should be able to use pid1=xxx

Therefore using a url such as /node/92?pid1=15215 as a user who has permission to see the Contact involved should see the Contact and the Participation data load on the webform

If you have any problems doing so pls ping me and i will hunt down where our fix got to, but assume we pushed it back to core webform_civicrm

UPDATE

Scenario: Contact xx is registered to Event A and Event B.

Now, if "cid1=xx" is added to the URL - it loads all the participant information of the contact for Events included in the webform and fills the webform. So both event A and Event B will be chosen as selected. Lets say the participant id for event A is yy and the event B is zz.

With our changes(not yet submitted to core) - If a user adds "pid1=yy" to the URL, it will only load the event A information, giving the user the option to update their participant record values via the webform.

So a webform loaded with - "cid2=204&pid2=54" will update participant id 54 information attached to contact id 204.

This has not been pushed upstream (ie to core) as we would need to check if it doesn't harm any other components and create a PR if it seems to be a good addition.


what is the cause number of succes imported contact not same with number of found contact in system i have imported contacts.the number is 12124 ,
but when i searh them ( find contacts ), there only 12123

what is the cause number of succes imported contact not same with number of found contact in system
i attached screenshot

civicrm 4.4.11
drupal 7.32

thanks and best regards

You have 1 duplicate record.  Note that the import counter indicates "created or modified" contacts.  If you change the dedupe settings for the import you'll get a different result for the number of contacts in your database, but the number of records "created or modified" will be the same.


ACL permissions still broken after 4.6.8 upgrade I was running 4.6.6 and noticed I was unable to access some of the settings for an event. I then noticed I didn't have permission to get to other areas of CiviCRM, this in spite of having full admin access.

I saw the bulletin regarding 4.6.6 breaking ACL permissions, so I just upgraded to 4.6.8, but the permissions are still broken - I can't get into any of the administrative functions of CiviCRM at all, and I'm kind of freaking out. As usual, this couldn't have happened at a worse possible time - we have our National Convention in less than 30 days and I desperately need to make changes to my event settings and price sets.

We're running Drupal 7.3.8 and Civi 4.6.8. We have 50 states set up with content access control controlled by smart groups based on state. Any help anyone can provide is greatly appreciated!

The ACL bugs fixed in the most recent point releases wouldn't affect a full administrator.  I believe it's unrelated to your current problem.

Your symptoms sound like you're logging in over HTTP, but with HTTPS forced to on.  Try logging in over HTTPS and see if your problem goes away.


Escaping quotes in ckeditor breaks smarty-syntax The ckeditor has the habit to escape characters like quotes or umlauts. This breaks the smarty-syntax when generating PDFs or mails.
Is there a good work-around or solution?

Adding config.entities = false; to the ckeditor-config packages/ckeditor/config.js prevent ckeditor from escaping special characters.

This avoids the issue with smarty-syntax. But I am not sure if this doesn't produce other problems by not escaping anything...
If anybody has experiences with that please post them here.

EDIT: In CiviCRM 4.7 ckeditor will be configureable. So it probably won't be necessary to patch packages/ckeditor/config.js anymore.


How to duplicate a case We often have batches of six to eight related cases which have much of the same content (relationships, custom fields, activities). I would like to generate new cases by cloning an existing case multiple times. Before I embark on writing a new extension, has anyone already done something like this?

Another alternative might be to use the CiviRules extension, and develop your own action that prepopulates cases upon creation?

Check for https://civicrm.org/extensions/civirules the extension and https://docs.civicrm.org/civirules/en/latest/create-your-own-introduction/ for documentation on developing your own actions.


Tracking Call Histories I am looking to track the following information for each call made:

Attempt Number
Status of Call (No Answer, Busy, etc)
Date and Time of call
Who made the call
If possible, the length of the call

Has any developer created a way to track calls and the result of that call in CiviCRM?  If yes, how did you do it?

Or is this something that CiviCRM can do?  If yes, where can I find this information?

Thank you,

LAE

Yes, this is something CiviCRM can do.

You could create custom fields to track this information and record each (attempted) call as an activity.  Using the activity method, you could even assign a follow up call to a staff member/volunteer if you wanted.  You could use a Profile to simplify the entry of the information.  If you are using Drupal as your CMS, you could create a streamlined webform that integrates with Civi and have a simpler and more specific interface for entry of the call data.


Change URL only on WordPress+CiviCRM We have been setting up a WordPress + CiviCRM installation on a test subdomain, let's call that wewantthis.testdomain.org.

I also have a domain name wewantthis.org that I wish to simply point to the exact same installation directory as wewantthis.testdomain.org, but with (hopefully minor) changes to settings and the database as we are not changing servers or even file locations on the server.

Note that I can do this easily for Wordpress only by

using phpMyAdmin to modify the wp_options table's "siteurl" and "home" rows to point to wewantthis.org;
fire up WP/wp-admin and run a Wordpress plug-in "Velvet Blues Update URLs";
under WP > Settings, change the Site Address and WordPress Address to wewantthis.org. That is all there is to it. Btw, for reasons I don't want to go into, I'm not interested in a redirect solution.

Is there something similar I can do for the CiviCRM database and settings? I've read some Q/A's regarding both moving the server and changing URL, but they seem to suggest a completely new install of CiviCRM and starting over, but at least making use of the previous database, whose creation was the bulk of the work.

Any advice would be appreciated as we have a test configuration that we want to go live by simply changing DNS pointers from the existing wewantthis.org (no CiviCRM) to our new one that will have CiviCRM fully integrated.

Thanks to the experts out there. This is our first CiviCRM setup.

The advice in the documention is fairly old and much of it is no longer appropriate. In the most recent CiviCRM versions, more and more of the url settings are automatically calculated from the 'base url' and are relatively easy to update just by editing the CIVICRM_UF_BASEURL in your civicrm.settings.php file, and then clearing your caches for good measure. In fact, most of the time you don't even have to worry about that, you can access much of your civicrm from multiple domains (e.g. with and without www). Of course, that's not usually a good idea, and the one key time that the settings file matters is when your civicrm is invoked via a non-CMS entry point (e.g. the click-through tracking url from CiviMail).

Usually, it's when you also have to change file locations that it gets the most icky.

The one recent gotcha I've seen is a ckeditor security check for file uploads that will break things in a small way if you don't have the file locations right (e.g. you need the actual file path instead of a symlinked one). But that's a digression for completeness and unrelated to your question....


cron on drupal8: can't handle separate paths for vendor and library The Sysadmin guide lists several methods to run the internal cron. On the previous site we used the http method, but now on drupal8 neither this nor calling cli.php works.

It seems a bit obvious, since some files by design remain in vendor/ and the rest are in the web visible [civicrm.files] path. JonG has a related note in his install instructions, but the PR wasn't merged, plus it seems to just tackle the composer plugin. I tried with the file anyway, but it didn't help much. It silences the error for bin/csv/export.php, but it still doesn't work. Nothing changed for cli.php and the http method still returns a unix return status of 8.

Any ideas? How do you run it on your drupal8 site?

I use cv to run cron on D8, e.g.:

12,27,42,57 * * * * /usr/local/bin/cv --cwd=/var/www/crm.mysite.org/web --user=admin --quiet api job.execute


Exporting Contacts Results in DB Error I am trying to export about 2000 contacts (exporting primary fields only) and when I click continue I get this error:

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

Not sure why its occurring and how to find out more info?

Thanks

First place to look is in the ConfigAndLog directory - it will contain a number of files. Find the current log file; it will contain more details on the DB Error (if you can't easily find it -> reproduce your DB error by trying to export again -> then the DB error will be at the bottom of the current log file).


How best to use crmApi result within angularJs controller? Referring to the snippet below, how do I get the controller function (DashboardController) to 'wait' for the return from crmApi? I've debugged enough to know crmApi returns the results I like, but DashboardController exits before I set self.user.
I'm weak on promises, but perhaps I also need to find a better place to call crmApi? Is it a better practice to call crmApi within, e.g., angular.module('tournament').config(['$routeProvider' ...
angular.module('tournament').component('dashboard', {
templateUrl: '~/tournament/dashboard/dashboard.template.html',
controller: ['$routeParams', 'crmApi',
function DashboardController($routeParams, crmApi) {
var self = this;
  // e.g., dashboard/43
  if ($routeParams.userId !== undefined) self.userId = $routeParams.userId;

  self.user = crmApi('Contact', 'getsingle', {
    "sequential": 1,
    "return": ["display_name","modified_date"],
    "id": self.userId
    }).then(
        // Success
        function(result) {
            return result; // How can I get self.user to 'wait' for this return?
        },
        // Failure
        function (error) {
            CRM.alert(ts('Could not get user record ID of %1, error = %2', {1: userId, 2: error}),ts('Not Found'),'error');
        }
    );
}

]
});

I finally remembered that promises return callbacks. So, instead of
return result

in the then of the crmApi promise, using
self.user result

does exactly what I need.


Do you support SmsGatewayCenter SMS API Module? I am a customer of https://www.smsgatewaycenter.com/ from past 1 year and definitely like their service and would want to stick to them.

I have seen one of your plugin for sms with different provider, can I replicate this to smsgatewaycenter.com API?
https://github.com/osseed/com.osseed.sms.mysmsmantra

or do you have it ready with you? Please update. Thanks

CiviCRM is open source software, so there's no "you" to address this to.  Anyone is free to make a plugin to interface CiviCRM with this provider.

As of right now, no one has - but SMS provider plugins are relatively simple, and if you (or someone you sponsored) was able to put in a few hours, you could likely make this happen!


how to create mail address labels How do you generate a list of (snail) mail address labels (for envelopes)?  I see how to generate an email list, but not a mailing address list turned into labels.

thanks!

After searching you can choose the action "Mailing Labels" that does this. This creates a pdf file you can print.
And in the menu under
Communication >> Label Formats
you can define the label formats you want to use.


Search for people who have NOT registered for an event I am trying to search for any person within a specified group in Civi that has NOT registered for a specific event.  The intention is to then send them all an e-mail to ask why they have not yet registered, encourage registration, etc.

I'm stumped as to how to search for people who have not registered for an event.

Thanks

First, create a group of people who have registered.  Next, go to Search menu > Custom Searches, and select Include/Exclude by Group/Tag. Include the group of people who should have registered, exclude those who have already registered, and there's your list.

I believe you can also do a similar include/exclude search using Search Builder in Civi 4.6, but this was broken in earlier versions so I haven't tried.


Aggregate of activity duration in Drupal Views I am trying to build a view that displays each CiviCRM contact and the sum of the duration of all their recorded activities.
I would also like to distinguish contacts in the view whom's duration sum is greater than x minute either with an icon or different color or font.

Any thoughts on how I can accomplish this?

This is more of a Drupal question - you can do what you're looking for with the Views Conditional module.


getting error message "too many connections" Getting an error message on public website regarding too many connections.  We increased our SQL connections, but we don't have a lot of interaction going on between our website and CiviCRM.  We have web hooks between our forms and CiviCRM.  How do we troubleshoot what is causing this?  Nothing in the logs.  Any ideas for preventing this?

We are on WordPress 4.5.3 and CiviCRM 4.7.9.

Initialization Error

Array
(
    [callback] => Array
        (
            [0] => CRM_Core_Error
            [1] => simpleHandler
        )

    [code] => -24
    [message] => DB Error: connect failed
    [mode] => 16
    [debug_info] =>  [nativecode=Too many connections]
    [type] => DB_Error
    [user_info] =>  [nativecode=Too many connections]
    [to_string] => [db_error: message="DB Error: connect failed" code=-24 mode=callback callback=CRM_Core_Error::simpleHandler prefix="" info=" [nativecode=Too many connections]"]
)
Initialization Error

Array
(
    [callback] => Array
        (
            [0] => CRM_Core_Error
            [1] => simpleHandler
        )

    [code] => -24
    [message] => DB Error: connect failed
    [mode] => 16
    [debug_info] =>  [nativecode=Too many connections]
    [type] => DB_Error
    [user_info] =>  [nativecode=Too many connections]
    [to_string] => [db_error: message="DB Error: connect failed" code=-24 mode=callback callback=CRM_Core_Error::simpleHandler prefix="" info=" [nativecode=Too many connections]"]
)

Two thoughts:

1) any chance you have a very low limit by default in your hosting setup/config?
Can you get into MySQL and figure out the value of this variable:

show variables like 'max_connections';

2) could you be under brute force attack - e.g. against the login form? Can you see any extra/unusual load on your server. If you can get to a shell you can type the following command:

top


civicrm_contact_push_notification_messages table huge We installed Civimobile as a test, and aren't yet using it. It does look great!

We have noticed a file on our server of gigantic proportions:
civicrm/civicrm_contact_push_notification_messages.ibd: 18GB

Is this just generated by the Civimobile API? And if so, have we done something wrong in our setup that it has become so large? I think the extension was enabled for about 4 weeks, and has been disabled for about 6 weeks. And we haven't been using the CiviMobile app at all when the extension was enabled.

How can we reduce the size of this file, or remove it? We don't want to use up that much space on our server if we don't have to.

Thanks for your help.

Civicrm 5.24, Drupal 7.69

We are having this same issue. The civicrm_contact_push_notification_messages table has grown to 4GB with 14million records in just 14 days. There is a 'Civimobile clean old push notification messages' scheduled job but it only cleans notifications older than 90 days.
This appears to be causing timeouts on our server due to low resources. Is there any way we can turn this excessive logging off?


Event registration email comes from number@servername address I'm adding an event registraion internally

Find contact record> Go to event tab> register for event

In the confirmation email if I leave the sender as my logged in user details the recipient sees the email address in the number@servername format rather thane firstname.lastname@sitename format

If I send the confirmation from one of the site "from" email addresses training@sitename the recipient sees the address as expected.

If I use the send email action to the same contact using logged in username- from email displays as expected.

D7.66 C5.10.4

Seems to be a similar issue as discussed here
Registration confirmation email uses wrong From email address

Anyone seen anything similar?

There was a problem with that: https://lab.civicrm.org/dev/core/issues/713 which was fixed by https://lab.civicrm.org/dev/core/issues/644 which is marked as fixed in 5.11  Upgrading should fix your issue.


How to get a data for a perticular logged in user ( through API)? I gave an ACL role to users for data segregation. I want to fetch data from database but data must filter i.e. ACL. How to get data. Also I want a userkey and sitekey?

In that case you will need to send api key of the logged in user who access is limited by ACL (also check_permission = 1 in api params).


Why is Activity statuses Scheduled and Completed added? Is it a bug that in Advanced Search section Activities the Activity Statuses get filled automatically with Completed and Scheduled.

It happens when:

I open Activities section when doing Advanced Search;
I try edit Activities section of previously configured Smart group.

In (2) scenario, the previously set Activity Statuses are lost and replaced by these Completed and Scheduled, thus annoyingly disrupting the group settings which need to be manually redone.

The bug is present in CiviCRM Drupal sandbox v4.7.15.

Is there a bug report filled for this already?

Screenshot:

This is a bug and has been reported here

Note, it closely resembles other issues affecting 'Edit Smart Criteria' eg

Tags (affects only 4.6.x but not 4.7.x) and
Privacy Radio Buttons (affects 4.6.x and 4.7.x)


Introduce CiviCRM in Italy who can I contact and how can I do to introduce CiviCRM in Italy?
Translating Documentation in Italian?
Thank you.
Marco

I can only give my experience in Hungary.

When I started contributing to CiviCRM first I translated the strings in Transifex. I took me a half year to translate nearly all strings.

Translation needed me firstly, beacuse we can use Civi UI translated.
See the Italian pages:
https://www.transifex.com/civicrm/civicrm/language/it/

Later I translated some presentation and tried to spread words about CiviCRM on Hungarian forums, and sites where I can find interested guys.

Visit the Get Involved page: https://civicrm.org/get-involved

The whole documentation translation big chunk of work.


How do folks handle email preview text? When sending a CiviMail message, users sometimes want to customize the preview text for email clients - which is good practice. (The preview text shows up under the Subject in many email clients.) Using the default mosaico pre-header, you end up with preview text of "Unsubscribe View in your browser...." [update: HomoTechsual notes that the Mosaico pre-header has a preview text option. But this has limitations as noted in the thread.]

It seems there are two ways to edit the preview text in Civi:

Creating a pre-header block with the text for the preview, but this will be visible in the text of the email, which often isn't ideal.
Creating a
Preview text here
 before any other text in the email. This is not user-friendly and is easily forgotten by users who have the knowledge of how to do it.

Any other suggestions for handling this?

Potential feature request: I'd love to see an non-required field for Preview Text under the subject field for every mailing. And (okay, this is a different, related feature) it would be great if a Preview Text field and Subject line could accommodate emojis (as described here). If Civi doesn't add these abilities, I'm concerned it will fall behind in user expectations compared to other mass mailers.

Mosaico 2.x on CiviCRM already has the feature to add "preview text" for emails.

This is handled in the default "versafix-1" template and any derivatives thereof by way of a hidden text field in the HTML.

Your supplemental question regarding Emoji is more difficult - the Mosaico library can handle Emoji however CiviCRM's database storage engine doesn't use UTF8MB4 and isn't setup to handle Emoji content at this time. There is an issue here however getting this change into CiviCRM core (which is where it would need to occur) is not simple nor a priority at this time.


Email signature is set but does not appear in messages I compose This question: Customize a User's Signature indicates that it should be possible for CiviCRM to automatically include an email signature if one is set for the sending user. I have set a signature set for the sending user, but nothing appears when I compose a message. I know that I can include it in the message using a template or manually insert a token into my email, but this is harder for my users to remember to do. They expect it to "just work" as shown in the above question. What is going wrong here?

Jeremy,

This was regression error introduced because of change in code. This is now fixed in later version of CiviCRM and should be available in next version. You can either apply the patch or wait for next release.


CiviCRM Ajax API - Searching by Tag I'm working with the CiviCRM API and it's been great--I've been able to make a very useful tool for our team.  However, I've encountered a problem.

I would like to do a search on contacts based on a tag.  However, whenever I make a call to the database asking for a particular tag, I get an error.  The following is an example I used on the demo site:

CRM.api3('Contact', 'get', {
  "sequential": 1,
  "tag": "Company"
}).done(function(result) {
  // do something
});

I receive the following error in the response:

{
  "error_code": "no such field",
  "tip": "add debug=1 to your API call to have more info about the error",
  "is_error": 1,
  "error_message": "DB Error: no such field"
}

Now, I receive a different error in test use on my own site, but is it possible in some way to do a search in the API for a contact based on tag?

you are almost there: instead of using the tag name, use the tag id (eg 5 for Volunteers)

CRM.api3('Contact', 'get', {
  "debug": 1,
  "sequential": 1,
  "return": ["tag"],
  "tag": "5"
}).done(function(result) {
  console.log(result);
});

And for performance reasons, we recommend to always set the return param with the list of fields you actually need (by default, it returns way too many that you don't need)

Otherwise, yes, it should work with the name of the tag instead of the id, but given that tags are one of the few entities that don't have an internal name that only the dev can change, I'd rather rely on the id rather than on the visible name that your users can alter


Report containing groups and the key contact details for that group I want to export a list of our groups along with their key contact details.  The group entry does not have an address/postcode/email etc linked to it - those details are linked to the key contact.

Help!

I presume that your key contacts are linked to the group by a relationship?

If so, I would suggest that you use advanced search to find the related contacts. You can do this by selecting the appropriate Relationship Type in the Relationship section.  This will be something like 'Key contact for' (depending on how you have named this relationship).

You can then export the search results by clicking on Actions > Export contacts.

Read more in the manual: Searching


Cron Error/CiviMail Stalled Users reported that CiviMail is not pushing their messages. The scheduled mailings have Started, but not Completed. When I go to scheduled jobs and manually execute the Send Scheduled Mailings, it refreshes the page but doesn't send the mail. When I go to my host control panel and initiate the Cron manually, I receive the following error:

Notice:  A session had already been started - ignoring session_start() in /home/mysite/www/www/includes/session.inc on line 287

I found a few "solutions" via Google that involve editing the session start php code.

For instance I entered this into the root php.ini file:

if(!isset($_SESSION))
{
    session_start();
}

It clears the error when running the cron manually, but it doesn't actually send the pending messages in Civi.

The log says:

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

  Full message:  Finished execution of Send Scheduled Mailings with
  result: Failure, Error message: DB Error: syntax error

There was another "solution" to add "php_flag session.auto_start 0" to the .htaccess file. When I tried that, it gave me server not found errors when trying to access the site.

I also cleared my _sessions table to see if that fixed the issue. No dice.

Does anyone have a possible solution to this issue? Thank you.

Civi 4.7.12
Drupal 7.51

Edit: 10-29-16 / 2159 to add log error message.

Kainuk referenced a post that I missed regarding this issue. It appears that after scheduling the mailings, users were deleted from the groups to whom those mailings were scheduled to send. A quick cancellation of those messages, then re-using them solved the issue.


How do I change my organisation's address in a mailing? I want to send out a civi mailing relating to a change of office address - the trouble is, the required {domain.address} refers to the old address and I can't see how to change this?

Is there a quick way?

Thanks,
James

You can change your organization address by going to
Administer > Communications > Organization Address and contact info.

Alternatively and less recommended,you can disable the check for mandatory tokens in CiviMail by going to:
Administer > Civimail > Civimail component settings


'Unknown path' error when trying to access New Mailing with version 4.6.2 It tries to go to "http://mycivicrmsite/civicrm/a" but it giving an "Unknown path" error.  It doesn't seem to redirect to "http://mycivicrmsite/civicrm/a#/mailing/new" which seems to work.

We don't have any extensions installed.

I resolved the issue.  Apparently there is a conflict with the Deslash option in Drupal module Global Redirect 7.x-1.5.  After unchecking the Deslash option, restarting the browser and clicking the New Mailing menu item, it works.

Please beware if you've installed module Global Redirect 7.x-1.5.  The Deslash option is enabled as a default.

Just a thought...
Although there is no need to change 'civicrm/a/' to 'civicrm/a' in source file civicrm/CRM/Mailing/Controller/Send.php, should it be changed anyway?  After looking at other CRM_Utils_System::url() calls in the module, I see that many other calls do not have '/' as the last character for parameter $path.  But it seems the parameter $path has been set to 'civicrm/a/' in civicrm/CRM/Mailing/Controller/Send.php for quite a while.


Append an option to the BlockSchedule Directive in crmMailing I'm making a first foray into customizing the mailing compose screen.

I want to add a third option to the options in BlockSchedule.html (schedule.mode = regular) which will open up a few more options to allow you to send mailings on a regular basis.

The template code I want to add is along the lines of

  <input ng-model="schedule.mode" type="radio" name="send" value="recur" id="schedule-send-recur"/>
  {{ts('Send on a regular basis')}}

Selecting this will open up a new directive with options for sending on a regular basis. It will also swap the submit mailing button for a schedule mailings button and possibly do other stuff.

But right now, I am stuck on a good way to add this option.

This answer (adapted below) makes me think that something along the lines of the following would work, but what do I do with the directive at this point?!

angular.module('crmMailing').config(function($provide){
   // intercept crmMailingBlockMailing directive, note the 'Directive' suffix
   $provide.decorator('crmMailingBlockScheduleDirective', function($delegate){
        var directive = $delegate[0];

What you want to do now is decorate the directive ;)

The decorator method allows you to decorate/modify an angular directive/service/factory/controller before its usage/instantiated.

You have two options (that I know of) to manipulate the directives DOM, one is the compile function, used for template DOM manipulation (is where the template is actually compiled), and the second is the link function, is where the data/scope is attached to the instantiated element/elements, and usaully used for event listeneres, like $watch

The angular mailing app uses a boilerplate template to declare directives, see the source here.

I'll try to explain with inline comments:

angular.module( 'crmMailing' ).config( function( $provide ){

        // the callback recieves the directive when the Mailing app bootsraps
        $provide.decorator( 'crmMailingBlockScheduleDirective', function( $delegate ){

            // $delegate is an array, we grab and store the directive into the 'directive' variable
            var directive = $delegate[0];

            // we hold the original link function
            var link = directive.link;

            // as the link function is already defined in Civi's boilerplate
            // we create the compile function and return a new link function calling apply on the old link function
            directive.compile = function( Element, Attrs ){

                // you can manipulate the directive's template here, like adding your own DOM elements/directives
                Element.append( '
Text added from compile
' );

                // return new link function
                return function( scope, elem, attr ){

                    // call apply to get original functionality
                    link.apply( this, arguments );

                    // add new functionality here
                    elem.append( '
Text added from new link function
' );

                };
            };

            // always return $delegate
            return $delegate;
        });
    });

In order for this to work what I do is declare a fake/empty angular module like crmMailSubjectReview = angular.module( 'crmMailSubjectReview', [] );, load it via hook_civicrm_angularModules and then add the crmMailing config block, see here another small example (have a look at the comments to see the template and the end result).


How do I configure the duration of the checksum links? Is there a way to configure the duration of the checksum links used when sending a mail - either globally or using a specific parameter in the token ?

I can't find any documentation on this but i'm pretty sure it's doable.

The setting you're looking for is here: Administer menu > System Settings > Misc (Undelete, PDFs, Limits, Logging, Captcha, etc.)

The second option is "checksum lifespan".


What might cause an Contact Import to only import core data and not import custom data Asking this mostly so I can answer it in case it helps others. I had been provided a csv that was doing as described in title ie it had both custom and core fields in it, and the core date eg First, Last, Email etc were importing but the Custom fields were not being imported.

I took a stab in the dark on this and re-ordered the columns in the csv to ensure that the custom fields did not come before the core fields. This resulted in both core and custom data to be imported. This may be documented somewhere but was a new one for me.


How can I send mass email to all contribution page pcp owners? I have a contribution page that has pcp enabled. I want to send out a mass email to all the pcp owners. I can display a list of all the pages with owners, but I can't do any actions on them. Is there an easy (or even a hard) way to do this?

This is definitely a blind spot in CiviCRM!  I don't think there's anything except a very hard way:  Write SQL to get the contact IDs, then import those IDs, assigning them to a new group.

To get the IDs of EVERYONE with a PCP, here's the SQL:

SELECT contact_id from civicrm_pcp;

If you want to get the PCPs associated with a particular contribution page, and that contribution page's ID is 12, here's the SQL:

SELECT contact_id from civicrm_pcp cp JOIN civicrm_pcp_block cpb on cp.pcp_block_id = cpb.id WHERE cpb.entity_id = 12 AND cpb.entity_table = 'contribute';

If it's an event page, change contribute to event.

Export that as CSV (this is trivial in PHPMyAdmin, for command line you can look up syntax).  Import the list of ONLY contact IDs to CiviCRM through Contacts menu » Import Contacts. On screen 4 of 4 of the import, you can specify a (new or existing) group to add your contacts to.  Once it's imported, you can mass mail the contacts.

Sorry it's such a hassle!  Hopefully an organization invested in PCPs will step up and fund a better solution.  If nothing else, a custom search would be easy to write.


Credit Card Verification Number Fails Running CiviCRM 4.6.3 with Drupal 7.38.  In CiviEvent I am not able to get any 3 digit card verification number to pass the test payment processor in Test-drive or Live.  Using 4111 1111 1111 1111 as the test card number.  Continue to receive "Please enter a valid Card Verification Number".

Bert, based on the error message you report, I think your validation failure is in the three digit card verification number (CVV), not the card number (PAN). Normally I use 111 as CVV for the 4111 test card.


What to do when upgrade to 4.6 failed, but rolling back breaks SMS? When trying to upgrade to civi 4.6, the process does a partial upgrade and then errors out.  Recovering previous version reveals SMS is no longer working. What should I do?

Note that when reloading the database,  it is a lot safer and cleaner to load the database dump into a newly created database. If you reload into an existing database, newly created tables will still exist, which fools the upgrade scripts


Is is possible to save blocks from one mailing to reuse in another mailing using CiviCRM Mosaico? I have two different newsletters – a monthly one to our full mailing list and a weekly one every other week to a smaller group. They use different templates so I cannot simply reuse a weekly issue as a monthly issue or vice versa, but I often need to repeat selected blocks (Mosaico) of content in both. At the moment, I am laboriously copying each element (title, text, button text, button link, image) from one mailing to the next, but this is really time-consuming.
Is there a way to copy a block from one mailing into another mailing, eg by copy and paste or saving to a library?

One way that I  am aware of is to click into a block in one mailing and then select the "Source" button

That will bring up the HTML source code dialog window

You could copy this, and then paste it into a block on the other mailing and assuming there are no fundamental differences in the template's stylesheet, it should look the same.


Tags in contact reports Using Civi 4.74 combined with Joomla 3.5

WE're looking to include tags in our contact reports but there's no obvious way to do so. What are we missing?

If you are talking about eg http://d46.demo.civicrm.org/civicrm/report/instance/2?reset=1 then no there is no option via the UI to do so. A developer would be able to add such a feature I expect.

Meantime there are other options such as: you can use eg Advanced Search, find the contacts you want to export, select "Select fields for export" then in the Export Mapping you can set the Tags field, and it should include that data with all the contacts Tags in a single cell separated by a comma. eg

Irvin Deforest | Volunteer,Major Donor
alidacooper@airmail.biz | Volunteer,Major Donor

You can then save that Export for future use. I have done this on Demo - it is called Contacts and Tabs via "Select fields for export" and then look under "use Saved Mapping fields".

But demo site will flush in a few hours

HTH.


Including Activity Dates and Subjects in a Profile for a Directory or Search We're trying to create one table for phonebanking purposes that show the last two or three activities of one type associated with each row of contacts, putting that into a directory or search profile, and allowing users to edit the table through a Batch update or other means.

Columns:

First Name
Last Name
Phone
Email
Notes
Most recent activity (or Activity type 1)
Second most recent activity (of Activity type 1)

We accomplish basically the same thing using Views and a profile.

Create a profile with the fields you want people to be able to edit.

Create a View of CiviCRM Activities, add a relationship of Activity Contact ID, select the contact you want to list (source, target, assignee).

Add Display Name, Phone, email, Activity Date and a custom text field (name it edit and link to your profile) fields.

Sort first by sort name, then by activity date.

Filter by activity type.

Add an exposed filter for Display Name contains.

That should almost get you there.


Wordpress Ajax & pictures not loading after upgrade to 5.0 I've updated from 4.7.29 to 5.0.0
The SQL update went well, but I've issues with JS/Pictures not loading.
This is really blocking as for example, the "Create new contact" is not loading
See screenshots below.
Could you please advise ?
Thanks

Error at "Create new user page"

CiviCRM_API3_Exception: "DB Error: no such field"
0 /var/www/html/civicrm/wp-content/plugins/civicrm/civicrm/CRM/Core/BAO/UFGroup.php(3341): civicrm_api3("uf_group", "get", (Array:3))
1 /var/www/html/civicrm/wp-content/plugins/civicrm/civicrm/CRM/Contact/Form/Edit/Address.php(226): CRM_Core_BAO_UFGroup::getCreateLinks((Array:3), "shared_address")
2 /var/www/html/civicrm/wp-content/plugins/civicrm/civicrm/CRM/Contact/Form/Location.php(107): CRM_Contact_Form_Edit_Address::buildQuickForm(Object(CRM_Contact_Form_Contact))
...

I can see the problem (I saw this myself recently), but I don't have a 100% answer.  However, the solution is usually to rebuild your multilingual schema.

This problem is characterized by:

Multilingual mode is activated on your CiviCRM site.
Error in the browser console show files not found at a path with the word "undefined" in it.
Also, "DB Error: no such field" errors (though this can also be caused by missing extensions or failing to upgrade the database after upgrading the CiviCRM files).

Based on these instructions, here's how you rebuild the multilingual schema:

From within CiviCRM (CiviCRM 5.1+ only):

Go to Support menu » Developer » API Explorer.
Set Entity to System and Action to rebuildmultilingualschema.
Press the Execute button.

From the command line (Civi 5.0.1 and earlier):

Drupal 7

drush php-eval 'civicrm_initialize(); CRM_Core_I18n_Schema::rebuildMultilingualSchema(["en_US","fr_CA"], NULL);'

Drupal 8

drush php-eval '\Drupal::service('civicrm')->initialize(); CRM_Core_I18n_Schema::rebuildMultilingualSchema(["en_US","fr_CA"], NULL);'

WordPress

wp eval 'civicrm_initialize(); CRM_Core_I18n_Schema::rebuildMultilingualSchema(["en_US","fr_CA"], NULL);'


Nationalities extension with dual citizenship I installed the Nationalities extension and it works fine. However, there are some contacts that have dual citizenship. I was wondering if somebody has already implemented this or have ideas how to do it?

thanks!

Is "Nationality" a group of custom fields? If so, consider making the group multi-valued.


cron job stops running after upgrade to 5.17.4 After upgrading to CiviCRM 5.17.4 under Joomla the cron jobs that had worked happily before stopped.  They didn't seem to be giving any error, but CiviCRM reported that they had failed to run.  We using Cpanel and have the following command line:

php <path>/administrator/components/com_civicrm/civicrm/bin/cli.php -s https://<url>-u <user> -p <password> -e Job -a execute

Any suggestions. We have tried running cron.php, but that, in its current form, doesn't handle parameters when run from the command line.

Has anyone else seen the issue?

After much trial and error, this command line seems to work in the Cpanel cron environment:

wget -q -t 1 'https:///administrator/components/com_civicrm/civicrm/bin/cron.php?name=&pass=&key='

instead of php trying to run cron.php.


Social sharing issues: OG and title metas - WP I work with an organization that recently implemented CiviCRM on its WP site. Since then, social share information/open graph tags on certain pages are scraped from here: http://vector-space.org/civicrm/. The same is true for the title. When I checked FB's debugger, I realize processes a redirect and scrapes OG tags from the aforementioned page. For example, debugger results for an event:

  The following will be treated
  as a redirect by the crawler:

A HTTP redirect
A <link rel="canonical" href=".." /> tag
A <meta property="og:url" content=".." /> tag

  Wordpress SEO didn't resolve the issue since browsers/crawlers are
  pointed to the CiviCRM header.

I found the parse code on the basepage template, but my coding skills are limited. Is there a way to resolve this so that we can display our own header/OG tags or Wordpress SEO OG info in social shares?

Thanks!

It looks like the same behavior occurs on the official CiviCRM/WP demo site. The browser title for this demo page:
http://wpmaster.demo.civicrm.org/civicrm/?page=CiviCRM&q=civicrm/event/info&reset=1&id=3

Does not match the generic title being scraped by FB:
https://developers.facebook.com/tools/debug/og/object/

Meanwhile, the CiviCRM/Drupal demo site is scraped as one would hope:
http://dmaster.demo.civicrm.org/civicrm/event/info?reset=1&id=3

Is this just a WordPress issue that is yet to be resolved?


Re-using templates without editing I would like to use a newsletter template from a different chapter. I am afraid if I edit the template it will change their settings they have in place. I simply just want to copy what they have and edit the text I will need for the Atlanta newsletter.

Thank you.

There are a couple of ways to do this.  The way I'm describing below isn't the easiest method, but it should work in all versions of CiviCRM.

Go to Mailings menu » Message Templates.
Press "Edit" next to the template you'd like to copy.
In the editor, you should see a "Source" button.  It may look different depending on your version of CiviCRM, but the most common version looks like this:

You'll see the raw HTML, which looks like gibberish.  You'll want to do a "Select All" and "Copy" (Ctrl-A, then Ctrl-C on Windows).
Press "Cancel" to go back to the message templates selection screen.
Press "Add Message Template" to start a new template
On the new (blank) template, press the "Source" button.
Paste in the raw HTML from the origin template.
Press "Source" again, and it should look like the original - but now you're in a copy of the original template!  Save this one with its own name and edit it however you like.