Price set is required but “-none-” option remains

One way to avoid such behavior is to write hook_civicrm_buildForm and use contribution page id as a trigger in if condition and use jQuery to remove 'None' option from dropdown/radio.


How to disable all scheduled jobs in civicrm.settings.php?

There's a new feature in the latest 4.7 that allows you to configure your site as non-production, which should do a bunch of things like this.

https://docs.civicrm.org/sysadmin/en/latest/misc/staging-production/

If you're using an older version of CiviCRM, you can manually disable all the jobs with this sql:

UPDATE civicrm_job SET is_active = 0;

But you'd want to make sure (manually) that some don't get auto-enabled (e.g. via the managed record feature in an extension).

Ultimately, the safest way to run a non-production site is in some kind of container that doesn't allow outgoing requests/emails.


how to add "registered by" information to a guest that is being registered manually in the backend?

Looking at the table "civicrm_participant", I can see a field "registered_by_id", which is presumably the one you want.

I'd note that you're using the field in a way that isn't strictly what it was designed for - i.e. you're taking the person who registers someone else and using that as having a particular relationship to them.

So I can think of three solutions:

Reconsider your requirements/architecture - perhaps add a relationship or some other way of connecting the guest to the primary registrant.
Use an indirect way of filling the registered_by_id field, e.g. have  custom registrant/participant field that is only exposed to administrators, and use rules or something like that to fill in registered_by_id when this custom field is filled.
Write an extension that exposes the field to the administrative form.

Short answer: no (no simpler solution).


Hide Cividiscount box from specific contribution page

There are a few options to make it so only Admins can apply discounts.

Create a price set for memberships and add a text/numeric quantity field called 'Discount', set the value to $-1.00 and set the visibility to 'Admin'. With this option you can apply custom discounts when entering memberships via the admin panel without using a CiviDiscount Code. The special field for discounts will only be visible to logged in admins.
If you are comfortable with some coding you can use jQuery to hide the CiviDiscount form section from the contribution page template via a custom template. Keep in mind this will hide the CiviDiscount form from all contribution pages.

Hope this helps


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)


Calendar of Activities for CiviCRM 4.7.3 on Wordpress 3.8.5?

I use a Wordpress plugin called EveryCal+1 - it has a built in hook to civiEvents and works/looks really nice.


How can Members download their own Membership Certificate/Card?

No custom code required! If you're on Drupal Views integration, which ships with CiviCRM - all that's required here are Drupal modules Views, Views PDF and installation of two libraries for the PDF generation: tcpdf and fpdi;

Here are the steps:

First we will create a Membership tab in your Drupal /user screen where we will display the relevant Membership details pulled from CiviCRM:

To create this Membership Tab:

a) setup your CiviCRM - Drupal CMS integration by following the instructions here:
Administer -> System Settings -> CMS Database Integration
direct link: civicrm/admin/setting/uf?reset=1
This makes the CiviCRM tables available in your Drupal Views.

b) on the Drupal side - enable Drupal Views; and Create a new View - key elements are Relationships -> connecting CiviCRM Contact w/ Drupal user ID and Contextual Filter -> so we can create a path user/%/membership and the Menu item: Tab: Membership

c) here is a complete Views configuration for the Page:

2. Hitting the Download Membership Certificate link produces:

To create this Certificate (a PDF download):

a) you need to download and install module: Views PDF -> which requires libraries: tcpdf and fpdi -> put them in a /libraries folder that is accessible by your site - either sites/default/libraries or sites/all/libraries.

b) when installed -> add a new display in your View -> of type PDF Page. I've selected PDF fields -> in Settings you can: upload and select a background template of your choice; you can also specify an offset X and Y for each of the CiviCRM variables to position them exactly where you want them!

c) In your PDF Page View -> Note the path:

d) Now that you've made the PDF Page display: add a Field on your user/%/membership page -> Custom text -> e.g. Download Membership Certificate. Hit Rewrite Results -> select Output this field as a link as follows:


CiviCRM on Joomla or WordPress? Any recommendations?

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.


Activities not displaying and weird json message

Answering my own question.
On checking logs it was in fact missing civivolunteer custom fields.
restored them from backup and all good now.

Is this bad behaviour for an extension?


Add Menu Item not displaying for all Admins

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


Updating Civicrm Activities with Drupal Webforms

Looks like this is an error that appeared with the Webform_Civicrm Module once updated Civicrm 4.6.18.
The reason I wasn't able to reproduce this error on my second site is because I didn't have the data needed to produce the error.
Issue was opened here: https://www.drupal.org/node/2759099


Drupal Email address ends up in Billing not Home

I believe this is now fixed as part this PR. Can you please try patch from here if it fixes your problem?

Cheers

Pradeep


This is more of drupal question rather than CiviCRM. I would restore it from db backup.

Create a test instance and import the database from backup
Export the webform using node export module from test instance
Import the exported file on live using node export module.
For importing submissions you can export the submission form test instance and user webform import module to import on live.


Add confirmation notification after submit in civicrm form in Wordpress

Welcome to StackExchange!
It might help with answers if you clarified the purpose of the form. What will you then do with the collected Name and email?

It looks like the way you are attempting will require JS so maybe we should look at other options.

Depending on what you need the information for, you could use a Civi Membership or Event form, these would give you built in responses or redirection. You can create a profile that just uses Name and email and set the event/membership to No Fee.
Check out Caldera Forms or Gravity Forms. Both have CiviCRM integrations. I have used them both in the past. And both will give you the ability to create your own response or redirect.


You're half way there with this. I would say that the three types of people are 'Contact Types'. Groups and/or Tags can be used to break these down where relevant, for instance, tags might be used to identify who actively contributes to your org, and groups might be used for the people that you will be mailing newsletters to.

The rest are probably mostly custom fields, with the exception of the medium of introduction to your institute - this may be an activity (use activity types and/or custom fields to specify the information you want to capture) because this will make it easier to see how many new interactions you've had in any given time period.

Ultimately, though, CiviCRM is really flexible and there are other approaches to capture and report on the same information. If you give some thought now to the specifics of what you will report on, you may decide that there is a better approach.


information about the underlying data-model behind civicrm (version 4.6)

There is some data information on the wiki:

https://wiki.civicrm.org/confluence/display/CRMDOC/Database+Reference    -
https://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+data+architecture
https://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+4.4+ER+Diagram

I hope this helps you!


As per @Demerit's comment, and somewhat counter-intuitively, make sure you've got your debugging settings to "off" - it's running out of memory when reporting the error. If you turn the various debugging settings off, it'll still report quite a lot of detail of the error.


If they renew early, it should just extend their membership. (e.g. if it is an annual membership and they have 2 months left when they renew, they should have 14 months on their membership afterwards).


This .htaccess file prevents files in this directory from being publicly downloadable. These files could be eg scans of membership forms or could contain other personal/identifiable data that you'll want to keep private;


Strip Drupal Page Template from CiviCRM Contribution Page

You can assign CiviCRM to use the default template in your Drupal theme settings. The default theme doesn't engage your Drupal theme and menu system.

In Drupal 7, it's https://www.example.com/admin/appearance, then scroll down to the bottom of the page and you can set your theme for CiviCRM.

If you want to retain your template but just strip out navigation, you may need to make a new template based on it for CiviCRM to use and assign it.


Forwarding of CiviMail to addresses on same hosting service fails

The hosting company mail server was objecting to VERP mailoxes like
Return-Path: b.544.88425.a5cada51f4f1fa94@mydomain.com
that are not prefixed with a real mailbox, treating them as unknown addresses and discarding the post. The discarding is noted in the logs, which are not available to me.

There is a setting CiviCRM > Adminster > CiviMail > Mail Accounts
in which "Localpart" of the Bounce record needs to be a host mailbox followed by "+" e.g "reply-mail+".
(There is also a setting "Return-Path" which seems to be ignored, at least if VERP is being used.)
Localpart gets prefixed to the VERP addresses to make, e.g.
Return-Path: <reply-mail+b.578.89179.a1e28883fd23b0e3@mydomain.com>
and the addresses are no longer seen as unknown and the posts are sent on their way. Delivery was ultimately successful to Gmail apps mail (where it usually went to the Promotions tab) and to other services.

This post is pertinent.


What order are CiviMail emails sent from CiviCRM?

I understood it was smallest civi id first (or "sorted by Contact ID ascending" to use your description)


On a WordPress site with CiviCRM 4.6.10 I had the same problem but switching from the "URL" to the "CLI" method of executing cron fixed the problem.


Css not loading causing the dashboard not loading correctly

Fixed this by resetting the css path in the settings.
It was trying to access an folder that didnt exist.


Strange Text Appearing in Contact Address Area

I began to import the database in pieces to a new installation to see if I could pinpoint where the issue might be coming up in the database. I found that the problem was with the civicm_setting table. There was a row added for address formatting that had the weird characters in it. I deleted the row and the problem disappeared.


Twilio extension installation problem - php query (I think!)

These two are warnings, not fatal errors. It's possible that they are harmless, and likely that they indicate that the extension is not yet configured.

Both report that the glob() for files returned something other than an array - which suggests that glob returned FALSE, meaning either the path searched didn't exist or the web user's permissions didn't allow CiviCRM to scan for files there.

First off, I'd make sure the extension is configured properly. If that didn't solve the issue, I'd add some debug code to see what the return value of glob() is before treating it as an array, and if the return value isn't an array to produce a helpful error message.

If that sounds too complex, you could open an issue on the Github project for Twilio, and refer the authors to this extension.


how do you process mdg.php files during an extension upgrade?

I think invoking below method in your extensions Upgrader.php incrementalupgrade function will re-build all your managed entities from all extension.
CRM_Core_Invoke::rebuildMenuAndCaches();


There shouldn't be any connection between the "Opt-Out"/"Unsubscribe" token and the field "Responses: Opt-Out Message". Both are required.
If the "Opt-Out" token (or "Unsubscribe" token) is missing, then you should get a very loud error message. (The token is generally provided as part of a header, footer, or message template, so that you don't have to put it in explicitly.)
The field "Responses: Opt-Out Message" should be filled in by default. If it's not, then perhaps someone removed the default. Try navigating to "Mailings => Headers, Footers, and Automated Messages". Edit one of the "OptOut" messages and set it as default.


How do you implement more than one "Employee of" field?

It is allowed to have multiple relationship as employee of for individual with an organization. However you can only have one as a current employer. You can create custom field for relationship with options primary, secondary etc and use it while creating relationship.

HTH

Pradeep


Is the free() method being called inadvertently on my DataObject?

I was not aware that the system had been patched with https://github.com/civicrm/civicrm-core/pull/10844/files. Reversing the patch resolved the problem.


Moving contribution page to a new campaign - consequences?

The contributions hold the campaign at the time they were made so not affected. PCPs created also keep the old campaign against them (using my memory here!). Any new PCPs or contributions will use the current campaign against the contribution page that initiated them.


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

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.


There was quite a discussion about this here which is worth your perusing. It suggests that the question won't be 'is civicrm HIPPA compliant' but 'is my configuration and usage of civicrm HIPPA compliant'.


Can an optout link be included in a scheduled reminder?

Provide them with a link back to a webform with checksum plus activity id if necessary so the existing Activity is loaded, and set the webform submission to change the status of the Activity to something that is excluded in the Scheduled Reminder.

(NB I am trying to get some unanswered questions answered as that is currently the 'weakest' aspect of our Beta civicrm stackexchange according to these [stats][1])


Can I format a smarty token number to have thousands comma?

The civi provided modifier has a different name: crmNumberFormat

moreover as per Paul-Tahoe analysis, smarty seems to be confused, so the trick is to assign the formatted value to a temporary variable:

{assign var="ttl" value=$contact.total_amount|crmNumberFormat:2:'.':','}

and then display it:{$ttl}


setting membership status override in bulk update

You could do that with the API:
$result = civicrm_api3('Membership', 'get', [
  'sequential' => 1,
  'status_id' => "Transferred",
  'options' => ['limit' => 0],
  'api.Membership.create' => ['id' => "\$id", 'is_override' => 1],
]);

(Find all memberships with status 'Transferred' and set override)
Or in Explorer:

If you can adjust your membership status rules to avoid using status override, that would be preferable but in this case your Transferred status only applies to some membership types.


Can you check if the tag you selected is a parent tag and has child tags? If yes than this is a known bug on 5.35.1 when doing a search on parent tag and is logged at https://lab.civicrm.org/dev/core/-/issues/2502 and is fixed as part of 5.38 release.
Solution(one of the below):

Use 'IN' operator instead of '='.
Apply patch from here.
Wait for 5.38.0 release


Check out the Pivot Report extension at
https://civicrm.org/extensions/civicrm-pivot-reports
and
the ReportPlus extension at
https://civicrm.org/extensions/reportplus .
Both should give you a way to produce the report you want, I believe.


CKEditor in Civicrm - Is it possible to have a custom css file?

If you use the great CKEDITOR editor to configure what you can there, then save, you can then edit the file in (typically, for a D7 implementation): sites/default/files/civicrm/persist/crm-ckeditor-default.js
e.g.
CKEDITOR.editorConfig = function( config ) {
  config.allowedContent = true;

  // Added these lines: ↓
  if (typeof config.contentsCss === 'string') {
    config.contentsCss = [config.contentsCss];
  }
  config.contentsCss.push("/sites/all/themes/your-theme/css/ckeditor.css");
  console.log("I hacked CKEDITOR's CSS :-)", config.contentsCss);
  // ↑ you don't need that console.log, but it's handy to prove it's working.
};

However, do note as it says at the top of that file, Note: This file will be overwritten if settings are modified


Why are emails not being sent when a contribution is made?

I narrowed this down to one particular contribution page. Others were working as expected. I don't know what the problem was, but I worked around it by simply creating a replacement for that contribution page. Thanks to everyone who gave this some thought.


Lack of payment processor blocking renewal reminders

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


How to display remaining event participants?

Watch out: role_id="X" > adjust to your needs.
Tested and working.


Webform with existing contact results in undefine index

It looks like a fix for this issue has been committed to the webform_civicrm project and should be present in version 7.x-4.21+

Details are here: https://www.drupal.org/project/webform_civicrm/issues/2966760

The fix itself is here: https://github.com/colemanw/webform_civicrm/pull/139


Application of Discount Code results in crazy amounts, new discount codes do not work

I found this issue as regression to CiviDiscount ext due to CRM-21562 changes. Submitted a PR https://github.com/dlobo/org.civicrm.module.cividiscount/pull/190 against CiviDiscount ext. Can you please test this patch and if possible provide your feedback in the PR itself, that will be helpful in getting it merged?

Thanks!


Mailgun will no longer support TLS 1.0/1.1, does this affect CiviCRM Smtp

For SMTP Civi by default uses pear::mail, which uses Net_SMTP. The current version of Net_SMTP that civi has supports TLS 1.2. See https://github.com/pear/Net_SMTP/blob/18b5dbaa049bee5f6d02c9a4318db02472e2c922/Net/SMTP.php#L613
It also depends on the version of the openssl extension you have installed in your php. If you run php -i | grep -i openssl or look at the output of phpinfo, you most likely have newer than openssl 1.0.1 so should be good.


Crash in upgrade to 5.35.1 on task core-issue#365 - Add created_date to civicrm_action_schedule

Of course

you ran this on a development copy of the site first, so you're not panicking, right?
you took a backup before your production upgrade, and can roll back to that?
you wished you had?

If you can, revert your database to a pre-upgrade backup
Then run this SQL on the CiviCRM database: OPTIMIZE TABLE civicrm_action_schedule;
Then repeat the upgrade.
If you didn't have a backup
Then run this SQL on the CiviCRM database: OPTIMIZE TABLE civicrm_action_schedule;
Then try to resume the upgrade procedure. If you're  on the command line you can use cv upgrade:db which will probably suggest you run cv upgrade:db --retry.
Hopefully it runs through clean for you now.


There are a good set of answers on this post but since you are asking specifically about training, and that was about 'tutorials' these questions may be subtly different. Perhaps you could clarify in your question if you mean videos, online training, or direct/custom training


How to record a webform submission ID in a CiviCRM field?

there is an extension that allows you to create a CiviRule with trigger webform is submitted: https://github.com/CiviCooP/org.civicoop.civiruleswebform. That might help you, although you probably then still have to create a little CiviRule action that stores the submission ID in the CiviCRM custom field.

Drop me a mail if you want to take this further?


How to disable "From email address" for unauthorized users?

You can try following:

Go to Administer-> Customize data and Screens-> Navigation Menu and  select Mailing.
From mailing option, do right click and edit on 'From Email Address'.
In the next window, you can choose permission to that particular menu under 'Mailing'.
After choosing permission for menu, assign that permission to the role you want.

With this you can give permission to single submenu.

If you want restrict unauthorized user, simply do not assign the permission to anonymous user


Order of membership types on contribution page not correct

Turns out we had almost all of our membership types with order = 1. Using the up and down arrows didn't seem to fix this, but going through one by one multiple times and editing the order values for each membership type did eventually sort this out. You have to edit and save the contribution page to have the change in order show up.


Accessing Event details not possible anymore (Frontend)

In  CiviCRM Configuration, Access rights: CiviCRM: access CiviCRM  was set to "inherited" needet to be "allowed". Now it works!


How can I enable the change log collapsible field on adding new contacts?

Logging turned on/off at /civicrm/admin/setting/misc?reset=1


The design of profiles is that they will only collect information about a one contact. (Even when you use multiple profiles, everything is updated on one contact)

Your question about how to collect information about multiple contacts at once has already been answered at:  How to allow parents to register children but still record their own info


You need to add the relationship from the contact ID B?


Search for contributions made in previous 4 months

You can always search by selecting "Choose Date Range" and entering dates manually (see screenshot below).

If you're looking to use a relative date filter because you need this to be in a report or smart group, then that date filter doesn't currently exist.

However: I am actively working on making it possible to create your own date filters (CRM-16195)!  I am waiting on someone to review some preliminary cleanup I did a couple of weeks ago.  Once the cleanup is approved, I will submit a change so that custom date filters can be added by an extension.  I already have an extension written that will handle your scenario.

If you absolutely can't wait, and you're comfortable patching CiviCRM, contact me on https://chat.civicrm.org (@junglebird) and I'll give you a patch so you can do this today.


Marking Activities with Priority "urgent" in another color

If I'm understanding correctly, all you need to do is make an extension and call CRM_Core_Resources::singleton()->addStyle() in hook_buildForm as described at https://docs.civicrm.org/dev/en/latest/framework/resources/#css-stylesheets since activities with priority urgent already get class priority-urgent added to the <tr> element in the table that lists the activities.
e.g.
CRM_Core_Resources::singleton()->addStyle('#crm-container table.nestedActivitySelector tr.priority-urgent {background-color: orange;}');
The #crm-container table.nestedActivitySelector part is required because otherwise the more specific css target from core gets applied instead.


Scheduled jobs cron not working properly

Since you're using a wget-based cron, there should be a corresponding entry in the web server log for each cron run.  Look to see the Apache value - does it return 404 or 500 or maybe something else?  404 would indicate a wrong URL; 403 would indicate it's blocked, perhaps because of the user agent (iThemes Security for WordPress does this in its default configuration).  A 200 or 500 would mean to check the CiviCRM log in ConfigAndLog.


CiviCRM reports Cron not running, but my web host is adamant that it is

I think you probably will need to provide full path of php to execute php files.

You can try the option from https://stackoverflow.com/questions/19916949/running-php-from-cron-did-not-run-as-cli/19917512#19917512

HTH

Pradeep


Pie Chart in contribution report showing the total in last bar

This is fixed in 5.28.0 which was just released a couple hours ago. You're in luck!
https://lab.civicrm.org/dev/report/-/issues/40


There was a similar issue reported in https://issues.civicrm.org/jira/browse/CRM-17067 where inherited membership(s) not created due to permission check in getRelationship(). I have submitted the PR in the ticket itself and the reason why the PR is still not merged is because there are some ACL changes going in 4.6.9 and that will fix the remaining issues reported by Dave Jenkin in his last comment.


How to control which activity types show up in dropdown when creating new activity

Only activity type that has component = Contact gets listed on the dropdown displayed on the contact summary page -> activities tab.

  Bulk Email also has component = contact, then why it is not shown listed on the dropdown?

Some activity types are reserved for system usage which has filter value set to 1 in civicrm_option_value table. These activity types are filtered from the dropdown list.

Email/SMS activity type will only be shown in the dropdown if the contact has a valid email/phone value stored in it.


How do I safely export my database and import it on a new server?

You can export the civicrm database without triggers and functions and After importing and making sure you have CiviCRM working, recreate the triggers by running 'civicrm/menu/rebuild?reset=1&triggerRebuild=1' in browser


Is there any information that tells the last action of membership record (edit or renewal)?

CiviCRM keeps track of membership changes in civicrm_membership_log table for all changes to membership attributes like start date, end date, status. But it will pretty difficult for you to guess if the membership is actually being renewed or updated unless you perform some more checks with different log entries from civicrm_membership_log table.

The other and most easiest/convenient way to know renewal or status change is through Activities. CiviCRM create different activities for membership when a membership is added, renewed and status/type is changed etc(see in attached image list of Activity types for membership). So it will be easy to use post or pre hook on Activity to guess the context.

HTH

Pradeep


View only fields can only be updated via the API, see: https://issues.civicrm.org/jira/browse/CRM-17843

So you could use one of the hooks (eg: hook_civicrm_pre) to 'detect' when that field has changed, and read the value, and then use the API to set the other value. _pre might be more reliable than the form hooks, as the field might be set by other methods than by submitting a form.

For example:

function foo_civicrm_pre($op, $objectName, $id, &$params) {
  if ($objectName == 'Contact' && empty($params['custom_xxx'])) {
    // make an API call to set custom_yyy
  }
}


CiviMail html format splits images and text

Most email clients only accept a limited subset of html tags, and many do not respect style attributes. If your image markup looks like <img style="float:right"... try changing it to <img align="right"...


HELP! civiCRM Administration Area Not Showing! [Joomla 3.6.5] [civicrm 4.7.16]

You could try to go the page directly

www.yoursite.org/administrator/?option=com_civicrm&task=civicrm/admin/setting/url&reset=1

If you have sql access you could change them back.  They are stored in civicrm_settings

SELECT name, value FROM civicrm_setting WHERE group_name = "URL Preferences"

You'll see the url between quotes in the value field.


Event fees not showing on info page or registration page

This was an issue with the CiviCalendar extension https://civicrm.org/extensions/civicalendar/330. Disabled the extension and it works. New update to CiviCalendar 3.30 fixes the issue.


This is not something you can do in CiviCRM AFAIK, this depends on the configuration of the server where CiviCRM is running.
And I assume you mean you are importing data from a CVS file, and you do not do that every day.


Setting a custom invoice date in CiviCRM

I guess you are doing it correctly - to set a future date on the Invoice - I would recommend creating an New token and displaying the date - which you are already doing it - so i don't think their is any other work around


Form Processor on WordPress - undefined offset: 1

If $param doesn't have an = in it then the list() wouldn't have an offset 1 element. Can you debug $param?


Unsupervised dedupe rules in the background?

See the third post here by Deepak.

http://forum.civicrm.org/index.php?topic=26491.0

I havn't tried it but it looks like scheduled mass merges are possible

Process batch merge (Daily)
API Entity: Job
API Action: process_batch_merge


Error on recurring payment with one installment

To make it even more confusing -> installments = 0 actually means unlimited/open-ended recurring contributions in CiviCRM.

Your options:

Do not expose the installments field (that will then be = 0 or NULL
by default > so open-ended).
Add some jQuery to check the value of that field give the user a
notice that it can not be = 1. How to add jQuery - there are a number
of ways to do this - depending on the CMS that you use.


VERP is visible in CiviMail sender address

Bluehost appears to restrict outbound emails to the list of email addresses configured on your Bluehost account.

Since dynamically generated VERP address format emails won't exist in this list, Bluehost is unlikely to correctly handle outbound dynamic VERP addresses.

You might get more informed and informative responses if you include a bit more debug information to better describe the issue you're experiencing?


We got it working after having issues with the imagemagick message - we did have it but needed to install php5-imagick - also we were thrown by being on nginx but alpha had been geared towards apache so a bunch of paths weren't working.

we provided feedback/workarounds at https://github.com/veda-consulting/uk.co.vedaconsulting.mosaico/issues/12 which resulted in alpha4 being released. assuming you are using that you might need to open an issue on Veda's github.


This may have been a bug in 4.6.0. Can you try upgrading to the latest version and see if that fixes it?


With Drupal webforms I am pretty sure you can set the Membership Type to be locked so renewing folk won't be able to change from the one that loads - will only work if they are logged in or using a checksum.


EDIT
This answer is now deprecated, you should use @bgm's answer instead.

All thanks to the code example link in Eric's answer here's a simplified example of how to offer up a hook (my_new_hook) which takes one argument, $the_argument:
CRM_Utils_Hook::singleton()->invoke(
  1, $the_argument,
  $dummy, $dummy, $dummy, $dummy, $dummy,
  'my_new_hook');

Then other extensions can include functions like
function myextension_my_new_hook($arg) {
  do_something_with($arg);
}

The $dummy is just because we must pass a variable (since it's passed by reference), but this hook does not need it. If you had a hook that took two arguments, you'd use 2 in place of 1 and replace the first $dummy with your actual second argument etc. up to 6.
Nb. this code assumes CiviCRM 4.5+, but obviously you're not using anything older than that these days, right?!


Is there a method in ACL of allowing anonymous access to some events and not others?

The title of your question only makes a distinction for "anonymous" users; the question itself mentions "Member-only" vs "public".

If by "Member" you mean "current membership holders as defined in CiviMember", then the Member Only Event extension is probably a good choice.

If on the other hand you only mean "members of my site" a.k.a. "logged in users", then what you're describing is possible with ACLs. The following will default to "authenticated users only" for all events, with exceptions defined on a per-event basis using ACLs.

Configure Drupal (or other CMS) permissions to deny the "CiviEvent: register for events" permission for the Anonymous role, and grant this permission to the Authenticated role.
In CiviCRM, create an ACL that grants "Edit" permission to a single event for the "Everyone" role, as in this example:

Naturally you'll want to test that event and a normal "authenticated user only" event, both as an authenticated user and as an anonymous user, for your own peace of mind that it's configured correctly.

An important caveat here is that with ACLs you are introducing a separate mechanism for managing user permissions, which runs parallel with -- and sometimes overlaps with -- Drupal permissions. That's not a bad thing; it just means it's important to a) have a clear understanding of what you're enabling, b) test to ensure you've configured it correctly, and c) remember to check ACLs as well as Drupal permissions, if you ever find an issue later on where users have different access levels than you expected.


Which local download version of CiviCRM is most like the Spark and what aspects of Spark can be customized?

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

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

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


How to create joint accounts in CiviCRM contacts

The short answer:

When you want to store information about two people (e.g. "John Smith" and "Mary Smith") together, create a new household.
You can name the household whatever you like (e.g. "John and Mary Smith", or "Mary Smith and John Smith", etc)
Add shared information like home phone number (land line) and home address to the household record.
Also create individual records for each of these people. Now you have three contact records.
Create relationships between the individuals and the household. You can also set up the individuals to use the address of their related household.
Add other data to the individuals which is specific to them personally (e.g. cell phone, email, birth date, gender, etc.)

The long answer:

While you're in this phase of deciding how to store your data in CiviCRM, I would suggest first taking a step back and considering why you might need to store data associated with multiple people, and if it's worth it to use households at all (because some organizations choose to disable them entirely and only use individual/organization records). For example:

Contributions:

When using households: If you receive a check with two names on it, an intuitive approach is to store this contribution on the household record.
When using only individuals: Another approach is to store it on one individual and soft credit the other one.

Event participations:

Regardless of your household strategy, it's best to keep event participations on individual records.

Memberships:

You can store memberships on household records or individual records, or some combination thereof. How you choose to do so will likely depend on your overall membership strategy

Relationships

When using households: relationships are created between individuals and their shared household. This makes it somewhat cumbersome to navigate from individual to individual because you must first navigate through the household
When using only individuals: you can set up a relationship type like "Spouse" to store the connection between two people and easily navigate between their records

Combined solicitations:

When using households: If you are sending a paper mailing, you can use CiviCRM to generate a mailing list which uses households to group contacts together and avoid duplicate mailings.
When using only individuals: grouping related individuals into the same mailing piece will be more difficult and probably require some custom work
This, in my opinion, is the biggest argument for using households

Keeping your data clean:

When using households:

Creating the requisite relationships and extra records is more work
De-duping is somewhat more complicated
When two people split up, it can be a pain to figure out what to do with their household record

When using individuals:

De-duping is simpler
Setting up the relationships requires fewer steps
Relationships can be disabled (even with an end date)


Is there a way to access [civicrm.files] from smarty?

You can use

{crmResURL ext='civicrm.files'}


Subscription confirmation "from" address is "do-not-reply@EXAMPLE.ORG"

Duh - default mailbox. Oops - my bad. Sorry.


Upgraded civicrm but the previous jquery files are still being called

you need to rebuild all the menu items please use the following
Drupal sites: http:///index.php?q=civicrm/menu/rebuild&reset=1
and clear cache again

for more details please have a look at the below documents
http://wiki.civicrm.org:8090/confluence/display/CRMDOC/Moving+an+Existing+Installation+to+a+New+Server+or+Location


Search 'Hangs' While Trying to Assign Transactions to a Batch

This can happen for many reason

check for any error message in Civicrm Log file
check for any error message in PHP error log file

If you haven't got any error message then

your MySQL DB is old version and you need to upgrade to latest
 Because some SQL which has been written in MySQL 5.6 is not been supported in Mysql 5.1 - which will not return any value and will timeout
also check for your Php Version too


Geocoding: Can you only use it for contacts?

If this is a situation where the Case is related to a house/building site and hence you want to be able to map 'all cases' then getting Address fields and Lat/Long fields would take significant coding I think.

Workarounds? If you already have an Organisation Contact sub-type to represent the dwelling then you can get the Lat/Long for that and hence create the map filtering on those which have current Cases.


Best way to handle memberships involving multiple contacts?

We tend to:

not use households but use individual memberships and the inheritance feature to construct Family (Household-like) Memberships
use Drupal Webform CiviCRM module to make this a one form signup (adults + children on one form) - with Webform CiviCRM you can add more then one Contact on the Form and specify relationships between these
Contacts
use inherit (on the Membership Type config) -> so that the children inherit the Family Membership by relation

Example - below (adding Children) - in this case we can't add Spouses - they need to sign their own waiver. But we do get them a Free Spousal membership if they specify a Spousal relationship to the Primary Contact.


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


Chained API Call : Membership.contact_id EntityTags

Ideally I would be using the $value.contact_id var but I can't get it to work that way.

membership->tags (via contact_id)

What I did get working was inserting a 3rd link in the api call chain.

membership->contact->tags

CRM.api3('Membership', 'get', {
  "sequential": 1,
  "status_id": "Current",
  "options": {"limit":0},
  "contact_id.contact_type": "Organization",
  "api.Contact.get": {"api.EntityTag.get":{}}
}).done(function(result) {
  // do something
});


CiviMail Mailing - Unable to select group, getting error of No recipients

I had a similar problem and went to: "Administer" -> "System Settings" -> "Cleanup Caches and Update Paths" and then ran "Cleanup Caches". When I went back to the mailing all my groups appeared again.


Failed loading "ioncube_loader_lin_7.2.so" Cron Error after CiviCRM & WordPress Upgrades

Were there any php changes as well? I've seen this when there's multiple versions of php installed and cron is using a different one than the web server. Give the full path to php in your cron task for the version you want it to use, and/or check the hosting control panel to make sure php is the one you want.


I don't think there is a straight forward way to do this.

It may be possible if you register the entire class list for all the classes (events) and then set the participant status to "No-show" when a student misses a class.  Then you might be able to do something by shuffling students between a series of groups - "no-show this week", "no-show this week & last", "no-show three consecutive weeks" using CiviRules and sending a weekly "Constituent summary" report to the teacher restricted to the people in the "no-show three consecutive week" group.

However, if you have more than one class you would need three groups for each class so you could get to an unmanageable number of groups fairly quickly.

Also, I am not sure if the existing conditions and actions in CiviRules would be enough for this purpose or if you would need to create additional conditions and/or actions


As said by @demerit you will need to enable online registration for the event. You see the option for turning on online registration under 'Online registration' tab of event.


Only admin can access event registration page

There are some steps in the original comment you might want to do first but this link has the solution that worked for a few people.   https://forum.civicrm.org/index.php?topic=23855.msg100253#msg100253

Try:

rm -rf sites/all/files/civicrm/ConfigAndLog/

CiviCRM will rebuild the ConfigAndLog folder.

-Steve


Can we be notified when civi recieves an SMS?

Lisa, Welcome to CiviCRM SE. Since Civi stores response as a activity, you can create schedule reminders to send sms/email for Activity type 'Inbound SMS' with 0 hrs after activity date time and limit to group of contacts. You can also use tokens like activity details, contact name etc in your message.

Using CiviRules extension you can send email/sms by using trigger 'Activity Added' with Filter 'Activity type' as 'Inbound SMS' and Action as Send SMS/Email. (You will need to Install CiviRules extension along with Email Api extension to send email or SMS api extension to send sms)

HTH

Pradeep


Blank screen on install, 500 error at set_include_path()

This is one of the strangest Civi911 calls we've gotten yet.  The problem definitely was set_include_path(), but it wasn't consistent with a more common problem with that--that it doesn't take effect.

We actually spent the maximum amount of time and handed it back to the client, telling him that we narrowed it down to set_include_path() but didn't know anything more, and we suggested he ask his host about it.

The host said that they have installed the cPanel/WHM Magic User Loader, which allows a user to have its own ~/php directory for PEAR modules installed via cPanel.  Enabling the Magic User Loader causes set_include_path() to fail (miserably, as we saw).  The host disabled the Magic User Loader, and the client ran the installer with no further problems.


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.


CiviMail Alternative Outbound Mailbox/From Address

is it not possible to use the mailbox associated with the FROM address when sending mail using CiviMail?

It is possible to send email using different from email address. The expected behaviour is that the email address you choose when composing a CiviMail is the email address that appears to the recipient in their email client.

It sounds to me like your SMTP service is rewriting the from address before sending the mail. That might be because the SMTP credentials you have supplied are only to be used to send email from that specific email account (in which case, it is not particularly well suited for use as a CiviMail mailer).

You might want to check with the email provider to see if that is the case. Or run a test using a different mailer in 'Settings - Outbound Mail'  (e.g. 'Mail', or 'Redirect to database') and see what the From addresses look like when sent using these methods.


How can I modify what is displayed on the civicase dashboard?

One way would be to use the technique described here:
http://wiki.civicrm.org/confluence/display/CRMDOC/Customize+Built-in%2C+Profile%2C+Contribution+and+Event+Registration+Screens

The files you want to override are:

    templates/CRM/Case/Page/DashboardSelector.tpl
    and
    CRM/Case/Page/Dashboard.php

Getting custom fields can be done using the api, although you need to know the database id for the field definition. See http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API, and down where it says Custom fields.


Thanks to @jaapjansma from CiviCoop for all his help and support. The issue has now been solved and merged into the main CiviRules development, if anyone is facing this issue, check out the fix and PR here.

As an answer (kind of) to the question:

I couldn't find a straightforward way to debug so, in this case the Reminder Sent or Membership Reminder sent  activity that Civi creates when a Schedule reminder is triggered wasn't created, that was the lead to investigate, using CiviCRM's debugging documentation (in a test environment, of course), turned out that the activity was created but with improper values, therefore the Schedule Reminder cron job would keep sending messages until the activity was completed.

Posting this as an answer just for the record.


Use Email Templates instead of Automated Messages

Have you looked at the CiviRules Extension?


In the message template there's two lines near the top that look like this:

{capture assign=labelStyle }style="padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;"{/capture}
{capture assign=valueStyle }style="padding: 4px; border-bottom: 1px solid #999;"{/capture}

If you change them to add a color: #1f497d; to look like this it should work:

{capture assign=labelStyle }style="padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7; color: #1f497d;"{/capture}
{capture assign=valueStyle }style="padding: 4px; border-bottom: 1px solid #999; color: #1f497d;"{/capture}


No aggregation necessary.

Under relationships add two relationships for activity contacts.  Select one to be the source and the other to be the target.

Once you've got those relationships, you can add two display name fields.  One tied to the source relationship and one tied to the target relationship.

Under filters add activity is deleted false, activity is current revision true.

In the fields section, in the activity ID settings select filter repeats.


Only Administrators can use Contact Reference Fields

You might need to provide more detail re the Permissions, but there are specific permissions for

CiviCRM: access contact reference field
CiviCRM: access AJAX API

From memory both are required.


CiviCRM: Sih-Vee See Ar Em

Civi (for short): Sih-Vee


Discussed this a bit over Mattermost. For debugging this, it made sense to run the first half of the command and check the output, e.g.

curl -Ls https://civicrm.org/get-buildkit.sh

It should display a bash script. However, it actually displayed an error message about an IP restriction. A quick work-around was to download the script through a different URL, i.e.

curl https://raw.githubusercontent.com/civicrm/civicrm-buildkit/master/bin/civi-download-tools | bash -s -- --full --dir ~/buildkit


Not out of the box, no.  As far as a feature request - I think that this would be a good extension, but might not make sense in core CiviCRM - most CiviCRM installations don't even have uses where their contacts log in, let alone change their e-mail addresses.

To implement as an extension, a developer should use the hook_civicrm_pre hook on the Email entity - it's important to use "pre" and not "post" because otherwise the old e-mail address is already overwritten!  Confirm that the change is driven by that person, not a back-end staff person (my comparing the logged-in user ID to the contact ID that owns the email), and if so, send a custom message to both addresses.  I have an extension somewhere that lets you specify a CiviCRM template to send - the advantage being that a staff person can change the e-mail.  Let me know if you need that posted on Github and I'll track it down.


Did you tried using Disable breadcrum drupal module?


How is "recent" defined when using recentmenu extension?

You can set preference by going to Administer > System Settings > Misc (Undelete, PDF,.......)


Error when installing civicrm-4.7.29-drupal on Drupal-7.56

I came accross this error a few weeks ago and it indicates that you are trying to install CiviCXM into a drupal environment which already contains an installed version of CiviCRM.


Create a temporary group, add the selected contacts first to a group and after that go to search, select the contacts in temporary group and add the contacts to the event


Invoking hook_custom_tokens and hook_custom_tokenValues in Joomla

Here's info about using CiviCRM hooks in Joomla:
https://wiki.civicrm.org/confluence/display/CRMDOC/Example+Joomla+Plugin+for+implementing+hooks

But why create a Joomla plugin if you can also use the hooks in a CiviCRM extension?
https://wiki.civicrm.org/confluence/display/CRMDOC/Create+a+Module+Extension

The advantages of using a CiviCRM extension over a joomla extension:

Works on all CMS'es
Much more knowledge available in CiviCRM community

The only advantage of Joomla plugins I see would be if you would need to combine CiviCRM functionality with Joomla functionality.


Configuring CiviCRM for 1and1 email limits

At Administer > CiviMail > Mailer Settings (civicrm/admin/mail) you can configure how many mail go out in each mail run. Limit the batch to 100 per run.

Combining your cron schedule with Administer > Settings > Scheduled Jobs (civicrm/admin/job), you can control the Run Frequency for task  Send Scheduled Mailings. The options for the this are "every time" or "hourly" (or larger intervals), so you probably want to set "every time" here, and then configure the cron task to be called every three minutes or more.

Scheduled jobs in CiviCRM (documentation) are triggered by an external task, for 1and1 customers via SSH to the hosting account. This is where you'll most likely dictate the frequency at which your scheduled jobs may be run.

With all that done, your CiviMail should stay under the limits ... unless additional emails are generated as well. What happens if you hit that limit - say if your CRM is partway through a mailout - and a donor's receipt or password reset email gets trashed for being email number 101 or 102? It might not be likely, but only your org can decide if it's acceptable, and you'll never know for sure how much buffer to allow.

So, the above configuration can mostly avoid hitting 1and1's limits. But ... please see my other answer :)


Settings don't display when tabs are clicked on an existing CiviReport

It sounds like you're missing the "Administer Reports" permission.

Go to CiviCRM's **Administer menu » Users and Permissions » Permissions (Access Control).
Select the first option ("CMS Access Control", where "CMS" is the name of your CMS).
Assign the "CiviReport: administer Reports" permission to a role you have.
Save the permission.

It's also worth replicating a problem on the demo site (demo.civicrm.org) if this doesn't resolve your issue.  That way you can edit your question knowing if the problem you're experiencing is specific to your site, or to CiviCRM in general.


Import Contribution Fails - Financial Type

We’ve hit this too in the past -> solution is to use the Name of the Financial Type. eg Donation (instead of 1). PS - Also match the case.


I don't think you will find a process to undelete a deleted activity via the UI. If you have access to the database then you could try finding the relevant entry from the log_civicrm_activity and log_civicrm_activity_contact to reconstruct your missing item.


If you need to change the settings globally, not just for the single statement, you have the option under Administer -> Localization -> Languages, Currency, Locations. There you can define the "Thousands Separator" as well as the "Decimal Delimiter".


My bad -- I had botched the installation of the Sparkpost release for Civi 5.x compatibility. Once I realized the error of my ways, I put the Sparkpost files into the correct directory, and now Status page is happy again. No more errors!


CiviCRM does not have full functionality support for refunds and partial payments so what is the current way to tackle this type of situation?

Refunds and partial payments are two different things.

Currently for refunds the work-around is to edit the contribution (possibly associated with membership or event ticket purchase) and set amount received to zero (for a full refund).

For partial payments, there was a release of back office functionality in 4.5 for events ie staff could enter partial payments but the gereal public could not. I suppose one work-around for not having this available to the public is setting up a contribution page for a lesser amount, then having staff manually record the partial payments each time they come in against the event purchase, and cancel the contribution. Similarly, for a membership, a separate Contribution page could be set up to receive these payments which could be manually cancelled after a payment for a similar amount has been created manually.


If you are using Multi-value Custom Data, see How to import to multi-record set custom fields and the answer.

But it sounds like you are importing multiple options in a field, in which case you can use comma separated values in a single cell. The import file will look something like this:

First Name,Last Name,Language
Joe,Smith,"English, Spanish"
Frank,Jones,"Dutch, English"

Tip: Try exporting a couple of existing records (with similar data) to see what CiviCRM expects in the import.


Limit price field of type Text/Numeric to only numbers and with a minimum of 4

Ideally you would develop a little extension that uses the validateForm hook (check https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_validateForm/). This will allow you to refuse input that does not meet your criteria.


I have been dealing with upgrades a lot lately, and I have the process "down" so that it is very fast.  I am impressed with how fast I can do an upgrade.  The key is shell access - or something that mimics it - because using sftp is very slow.  That might be your problem.  Once I have the data backed up it basically goes like this:

ssh into the server and tar/gz (archive) the existing civicrm directory.  One command, 15 seconds or so.
upload the new version tar/gz.  This of course will vary greatly by internet connection speed, but generally only a couple of minutes or less.
delete the existing directory.  This is what's horrendously slow via most sftp programs I've used.  They usually do a recursive delete on each individual file and directory, and since there's a ton of them in CiviCRM it takes forever.  It takes 1 second in the shell.
Unarchive the new version.  Usually less than a minute.
run the upgrade script.

Very, very fast.

If you aren't a command line person - I'm not, actually - there are some ways around it.  Our systems all have Webmin installed as a helpful control panel, and it's Filemin file manager deletes directories as quickly as the shell commands do.  I also regularly use Cyberduck for SFTP work, and it has a built in tar function, so I can archive/unarchive just as quickly as from the command line.  So, even though I don't really use the command line I am getting the benefits.

I would add that if you are concerned about security the very LAST thing you would want to do is have excessive writable directories on your server, and most built in upgrade systems require these.  Don't give in.  You can reduce writable directories by not using those systems and save you many troubles down the road.


Another option is to use Data processor extension, you can output the result as search or report or dashlet.


Is it better to install civi (Wordpress) on a dev server first then migrate to production or is the reverse better?

This isn't really a question specific to civicrm, but in general unless you never plan to upgrade or do any customization after the initial installation, you'll want to have the dev to production direction set up anyway.


This is definitely the time to start looking into Webform and it's CiviCRM integration module! It provides page breaks and much more which is not possible with CiviCRM.


Restore from trash not working. No related log entries

It looks like it happened in 5.25. I've added a lab ticket: https://lab.civicrm.org/dev/core/-/issues/1784

Will be fixed in 5.26.0.


Unable to see or modify rights in "WordPress Access Control" panel

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


How to alter Event Dropdown values from Register Participant or New Event Registration Page?

The event field on participant form uses event api to retrieve events. You can easily alter the list by implementing hook_civicrm_apiWrappers hook by adding additional parameter to exclude recurring event in $params of api probably 'parent_event_id' => ['IS NULL' => 1].

Or using buildform hook try adding parent_event_id condition in data-api-params of the field(element).

if ('CRM_Event_Form_Participant' == $formName) {
    $elementIndex = CRM_Utils_Array::value('event_id', $form->_elementIndex);
    if (empty($elementIndex)) {
      return;
    }
    $element = & $form->_elements[$elementIndex];
    $dataApiParams = json_decode($element->_attributes['data-api-params'], TRUE);
    $dataApiParams['params'] = ['parent_event_id' => ['IS NULL' => 1]];
    $element->_attributes['data-api-params'] = json_encode($dataApiParams);
  }

Cheers

Pradeep


Civicase Dashboard - reordering case types

The Comment from Demerit is correct.
Rewriting the order of 'weight' in  civicrm_case_type - then flushing civi and browser cache - correctly reordered the lists.
(I'm not exactly sure why this didn't seem to work the first time)
Thanks


How can I change the label name of a field and it's data also?

You can use Word Replacement to change eg Household Name via /civicrm/admin/options/wordreplacements?reset=1 but what you are needing to do may be better accomplished via another mechanism (see comment above)


I'm not sure this is the answer Drew is looking for or it even addresses his issue.  It sounds like it was working for him and then he had a timeout and it messed a number of them up.  The comments, which I added too many to, show that it doesn't work in some cases.

To import contact with a master address belonging to someone else, you need to include the actual address along with the address belongs to.  It is looking for the ID of master address.  How one might know that without sql is beyond me.  Whenever I've imported people with shared addresses, I've imported all the people each with an address and then wrote some sql to pull out the address id of those that would be the master and id of the contact that would use that address and id and did an import update.

I just imported a Joe Blow into Demo46 having him share an address id 3.  My cvs had first, last, street, city, state, postal, country and master address belongs to.

I'm guessing way back when for ease of implimenting shared addresses it appears it was decided not to quite do them as relational database should.  You'd expect the id to be there and for the forms, queries, etc. to follow that id for the address, but it appears it depends on the address actually being in the record.  I suspect the contact form sees that and does a copy when you share an address or the master gets changed.

So Drew you might look at your database and see if you have records in civicrm_address that have a master address id but the street, city, etc. are blank.  If so this sql should fix it.  (A caution, I wrote this sql a while ago but it think it's still fine.  In case your wondering why it is ca and pa, I was dealing parents and children.)

update civicrm_address ca,
       civicrm_address pa
set    ca.street_address = pa.street_address,
       ca.city = pa.city,
       ca.state_province_id = pa.state_province_id,
       ca.postal_code = pa.postal_code,
       ca.postal_code_suffix = pa.postal_code_suffix,
       ca.country_id = pa.country_id
where  ca.master_id = pa.id
and    ca.master_id is not null
and    ca.street_address is null

If you don't have the master_id populated but you do have the two people both having the address, you could write some sql to add the address id of the first to be the master_id of the second.


RECURRING contribution and auto-renew membership

If you are on Drupal, then webform_civicrm can indeed mix and match different monies [Membership + Contribution + Event] and since recently construct a recurring series as well. There are some differences though compared to how each of these individual bits work using CiviCRM Core itself:

you will add up all components using webform elements -> to get a
Total $ amount;
you can then present to the user (or config them
yourself) - how you want these to be paid (now, monthly installments,
etc)
you end up with one payment - and since CiviCRM Core is not really expecting that this is possible, you won't see the distribution of that payment in the backend. So a $100 contribution + $50 Membership will show $150 payment both on the Contribution screen as well as on the Membership screen.


Webfaction hosting, behind a proxy - broken dashlet

At least until the most recent 4.7 releases, CiviCRM needed to contact itself via http to populate the dashboard. Your picture suggests that it's not able to, probably related to how the proxy is setup. If you have a command line interface in environment that the code is executing, see if you can contact yourself using, say curl or wget. Sometimes hardcoding the domain in /etc/hosts is a solution.

Another way to mess up your dashboard is with a slightly broken certificate on a https only site - some will render for you in Chrome, but curl/wget won't like it. But in that case, you'd get a spinning thingy.


Creating a summary of contents on civil mailings

There isn't an automatic feature but this is what html anchor tags do. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#Linking_to_another_section_on_the_same_page

So at the top of your html mail you can put

Thing 1

and repeat for each title/summary, and then use the id in your stories lower down like

Here is the actual story.


I like CiviHoneypot.

I don't know why the author says to use ReCaptcha first.  I find ReCaptcha too invasive and I've successfully used CiviHoneypot to solve carder attacks.


How to restrict Profile Edit/Create Visibility?

First of all you will need to update the CMS permission to remove view/edit data using profile. Configure ACL from CiviCRM UI to restrict group of contacts to update their contact using profile.

Note: I guess changing the permission will result in profile not available for any user if they dont have access to. If you want to restrict specfic profile and enable all others them i think you can use profile hooks to return access denied.


Adding Organization filter to Event details report

"Simple" is a relative term here!  This is an excellent beginner-level modification to CiviCRM's source code - but any modification requires a fair amount of knowledge.

Assuming you're using the "Current Employer" as the organization name, you're in luck.  The current employer's name is stored in the "Organization Name" field on the individual's contact.

You'll need to modify the file in CRM/Report/Form/Event/ParticipantListing.php.  Check out this session from CiviCon 2012 for a video and slides.

While it's not suitable as a learning resource, the CiviReport Reference is an excellent reference document.


Design flaw in current employer and job title

My experience is that 'Employer' field does get populated after adding the relationship directly.
However the Job Title field is not related to the relationship and that wouldn't get populated, as it's a field on the contact record only.


Update custom field in CiviCase using batch profile?

There is a write up here about using the API. May not be a lot of help to you but worth adding to the thread. I found it, and your question, while similarly searching for a solution to needing to 'bulk update' Cases - and having found and failed (in our situation) with VBO and Views it may be a case, for us at least, that we need to do some more development with VBO and civicrm Entities


FIXED. I have CiviCRM installed on a subdomain. Using the advice in this answer: https://civicrm.stackexchange.com/a/21878/6594 I changed the URLs on the 'Resource URLs' page (Administer > System Settings > Resource URLs) from relative URLs with shortcode (ex. [civicrm.files]/persist/contribute/) to absolute URLs (ex. http://***.******.org/wp-content/uploads/civicrm/persist/contribute). That made all of the pages that were appearing blank work properly.


Normally, (custom) date formatting in civicrm is handled by this function:
https://github.com/civicrm/civicrm-core/blob/master/CRM/Utils/Date.php#L300
You'll see at about line 410 that there's no substitution for seconds.
Sounds like a not-very-difficult feature waiting to be added.


Send a contact to CiviCRM only if the user check a specific checkbox in a Contact Form 7?

There are different ways to approach this, but none of them is standard as the Contact Form 7 Integration plugin only throws data over the line and lets CiviCRM take care of the api.

First of all, it is well possible that standard Contact Form 7 lets you specify a box that prevents submission of the data? If that is the case then that is the quickest and easiest solution

Insert a form in between where you ask permission and only take them to the next one (that sends data to CiviCRM) once they have ticked the box

Adapt the plugin in your installation to NOT send the api call if a certain box is ticked. That would not be an option I would take as I would prefer the next alternative, but is possible.
Send the data, including the "permission" box, to CiviCRM but use a specifically developed API (something like OkContact create). The check to only create the contact if the box is  ticked is then solved in this API, and the contact is only added if the box is ticked.

Does that help?


Importing Household Address if Already Exists

A workaround is to import the address along with the Master Address ID. So import like you are importing a new address but also include the Master Address ID, mapped to the "Master Address Belongs To" field.  It links them and populates the address.


There should be a link on the "Activities" tab marked "Delete" for each activity listed.  See screenshot:

If you do NOT see this button, it's most likely that you don't have the "Delete Activities" permission.  Please speak to whomever manages permissions for your CiviCRM installation.


Can't find a patch for "CiviCRM is not of type Int"

I remember this bug from a long time ago.  I'm pretty positive it's been fixed.

I would try upgrading a copy of your site to the latest 4.6 to see if the problem still exists.  If it doesn't, then upgrading is your solution.


Adding a Financial Account to a Contribution

As far as I know:
You do need to link the Financial Accounts to the Financial Type, and create more financial types if you need them. When you enter a contribution you can select the financial type, which will then provide the link to the Financial Account.


What are the Attributes for the Reserved DeDupe Rules

Pete's answer should be correct, but reserved dedupe rules don't work like normal rules.  The original assumption: First name, last name and email must all be identical - is correct.

Dedupe rules with multiple criteria work by running a separate query for each criterion, filling a temp table with the weights.  This is flexible but inefficient, so the "reserved" queries are done using a single handwritten SQL query.  This particular query is found in CRM_Dedupe_BAO_QueryBuilder_IndividualSupervised::internal and overrides the stored query in the database (which is the old query from before reserved queries existed).  Here's the query that runs.

        SELECT contact1.id as id1, contact2.id as id2, {$rg->threshold} as weight
        FROM civicrm_contact as contact1
          JOIN civicrm_email as email1 ON email1.contact_id=contact1.id
          JOIN civicrm_contact as contact2 ON
            contact1.first_name = contact2.first_name AND
            contact1.last_name = contact2.last_name
          JOIN civicrm_email as email2 ON
            email2.contact_id=contact2.id AND
            email1.email=email2.email
        WHERE contact1.contact_type = 'Individual'");


Does the core Moneris payment processor work?

Our general strategy with payment processors is to get most of them out of core and into extensions, where they can be better maintained, so no, this is not going back into core. In fact, it's because Moneris didn't ever respond to the license questions about their mpgClasses.php file that it started falling out of core ...

I'd be happy to work with you to get the US code working. Contact me via the form:

http://blackflysolutions.ca/contact

with details about your needs and I can update my extension to support US$.

Alternatively - if your organization is a non-profit, I'd also recommend you compare iATS Payments services, they tend to be better (less expensive, more features, better service).


Displaying a Views block with a CiviCRM-enabled webform

After much trial and error, we discovered that the webform and Views block both populate correctly with a supplied link of /family-info?cid=[id].  By removing the 1 between cid and =, the View contextual filter works properly and the webform still auto-fills.  I don't know the implications if one were to try to have multiple contact id's, but for our purposes of only one contact id, this resolves the issue.


I figured out one way using profiles.

CREATE A PROFILE

The first 4 steps that you'll only need to do once starts with going to Administer, Customize Data & Screens, Profiles. Click Add Profile.
Give it a name such as "Update Child Participant Details", add a description if you like, check "Used for" + "Standalone Form or Directory", check "Is this Profile Active". Under Advanced Settings change "Limit Listings to a specific group" to "Attendees". Leave the rest as is. Click Save.
It will now ask for a Profile Field, select Participants, Registered by ID. Check "Required" (since presumably this is the whole reason you want to create this in the first place). Leave the remaining fields as they are. If you want to update another field for the child (ie dietary restrictions, etc) then click "Save and New", else click "Save" to finish. NOTE: You cannot mix fields from other records, they all have to be from "Participants". If you try to use one from "Contacts" for instance, it will give you an error in later steps.
Click Preview (all fields) and your Registered by ID field and any others you created should appear. Click Done with Preview. You will only have to do this once, this completes the Profile steps.

CREATE A PARTICIPANT ID REPORT

You will only need to create this report once. Go to Events, Reports, Attendee List.
Checkmark Columns, add Participant ID, Registered by Participant ID, Event, Status, Role, Fee Level and Participant Fee, then click View Results. Your report should now show the parents along with their children (everyone who registered). The Fee level field should presumably identify the parents from the children assuming the fee structure is different (ie under 12 free).
Click on Title and Format, change the name to something more appropriate such as "Attendee List with IDs", then on the same screen under Actions, select "Save a copy" (not Save or it will overwrite the original), parent menu can be Events, Event Reports. This is where you'll find this report later.
Now that you've created your report showing the children with Registered_by_ID = null (blank), you will now know which child's record to edit. Keep this browser tab open to refer to, and open a second browser tab or window.

USING THE PROFILE AND REPORT TO EDIT THE CHILD RECORD

In the new browser tab or window, open CiviCRM and go to Events, Dashboard.
If you only have 1 event showing, you should see all your attendees below. If you have more than 1 event, click on "Registered" to the right of your event. You should now see all your attendees below.
With the Civi Report you left open in the previous browser tab or window, you can find the name(s) of the parent and their children. You'll be focusing on the children that do not have an ID number in the field Registered_by_ID because we will want to change this from null to their parent's ID. Make a note of the child(ren) and parent.
Switch back to your 2nd browser tab or window. Click the box next to the name(s) of the child(ren) that you want to associate with the parent that registered them.
Click on "Actions", and choose "Update Multiple Participants" which should be at the bottom of that list. Give Civi a moment, then you should see a page called "Update Multiple Participants" with a Select Profile dropdown. Choose the Profile you created in the first steps and click Continue.
The child(ren) should appear now, though unfortunately this screen does not list their participant IDs nor their parents. This is why you'll want to switch back to the other browser tab or window, obtain their parent's participant ID, and enter it into the "Registered by ID" box beside their child(ren)'s names on the 2nd browser tab or window. If you created any other fields in the profile (ie Dietary restrictions) then they will also appear here too. Click the "Update Participant(s)" button to finish.


Date created field displays erratically in views and webform Drupal7 integration

You didn't specify what entity you'd like to add this custom field to - but you refer to "every new contact", so I assume you want it for contacts.

"Date created" and "date modified" already exist as core fields on many entities, including Contact entities.  See screenshots below.  "Modified Date" on contact is on the Change Log tab.


Charity wordpress template that works with CiviCRM

The default Wordpress theme seems to work fine and that is free. Unless you have any specific requirements, I'd stick with that.


EXACT search on a custom field instead of LIKE

Hi from across the ditch.

Not clear if your custom field is text or select. Assuming Text (which raises the question of why isn't it select)

You can use Search Builder for this. Search > Search Builder.

Select contact type that your custom fields apply to. Set operator to =

Outcomes:

No matches found for:
Contact Type = 'Individual' ...AND...
electorate freehand = East

1 Contact
Contact Type = 'Individual' ...AND...
electorate freehand = Eastern Metropolitan

Does that help?

Fields are on http://d46.demo.civicrm.org/civicrm/contact/search/builder for the next x(<24) hours


Are extensions that work with CiviCRM 4.7 also compatible with 5.x?

Because 5.0 does not include breaking changes, it is considered equally compatible with 4.7 extensions. There is always minor risk of breakage when upgrading software, but 4.7 to 5.0 is not considered a major upgrade.

From https://lab.civicrm.org/dev/release/issues/1#note_2843

  In the 4.x series,  tags mean the same as today. (Exact-match to version. An extension declaring 4.6 is not displayed for
  download on 4.7.)
  In the 5.x series,  tags imply forward compatibility. (An extension declaring 5.2 is displayed on 5.2, 5.3, etc. But
  not on 5.0.)
  To bridge them, 4.7 is forward compatible with 5.0. (An extension declaring 4.7 is displayed on 4.7, 5.0, 5.1, etc.)
  As today, a consumer sees the newest extensions that are compatible with their version.


Dynamically send scheduled email to a group?

Not sure how I missed this, but this post confirms that email recipients are defined at time of scheduling the mailing for smart groups.

(Since this is true for smart groups, I'm assuming this is also true for normal groups – indeed as my brief testing (above) demonstrates.)


How to display location of many events on one map

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


Muhamed - you can allow people to register anonymously, they do not have to be 'members' or users in WP. When people register, their name, email and address information will be used to create new 'contact' records. It is a matter of setting up CiviCRM permissions as you want them.


How can I include CiviCRM relationships to node creations screens?

Your query seems a bit off to me. Focussing just on the portion of it that retrieves the employers of the logged in user wouldn't you have something like:
Select employer.id, employer.display_name from
civicrm_contact employer inner join
civicrm_relationship r on r.contact_id_b=employer.id
where r.contact_id_a=$current_contact_id limit 0,10;

(If your user isn't logged in, then I would just drop the where clause to populate the select widget with all employer orgs.)

IIRC the employer is the b contact for the relationship, not the a - might want to check that.


Installing Webform CiviCRM from an Installation Profile

AFAIK you can not install Webform CiviCRM if CiviCRM is not installed yet.


Based on the "Notice" in the comment you posted above, it sounds like the issue is one of headers already being sent.

When you generate a .pdf/.docx/.odt file, the web server sends the exact set of bits and bytes necessary to generate that file.  However, it assumes that no other data is being sent.  If, before the document is generated, additional data is sent, you'll get a corrupt document.  It looks like that's what you're experiencing.

Check out the answer here: Error when printing PDF letter or mailing label from search results list.  It gives links that explain how to suppress notices on your live site, which should resolve this issue.


The easiest way is to create three membership one for monthly, Quarterly and yearly which will solve the problem

If you need all the frequency in a single membership then you have to handle this by creating a custom field linked with membership which will hold the frequency value and whenever we create a membership or renew a membership you should calculate the end date of the membership based on the frequency using hooks and update the membership record manually - that should solve the problem - I guess this helps!


Can't use activity table in join query for update

An option is to disable the trigger, run your upgrade and re-create it at the end.


How could I restrict view access to message templates

I think its down to adding some code via php or js to restrict use of message template on some screen based on permission.


How to set up the filtering in Drupal Views to target the correct CiviCRM Activity

When you edit a case activity, it creates a new version of it, and that does indeed have a different ID.


Contribution import fails for all records with error "No matching Contact found"

The only change to the file CRM/Contribution/Import/Parser/Contribution.php between 4.6.0 and 4.6.6 is the addition at line 263 of:

$params['contact_type'] = 'Contribution';

Commenting this out seems to fix my problem.  My contribution imports are based on matching the individual contact by email address, so I'm guessing that this line broke things by forcing a lookup by contribution ID.

Should I file a bug report?


CiviEvent registration being assigned to the the wrong participant

I guess you are getting bit confused with Event registration
When an Event is created to accept multiple participant

The first entered member is considered as the actual member register and he is the one who is charged for all the participant amount too (in respective of the member is new or existing)

I have done the same example against http://d46.demo.civicrm.org against Version 4.6.4 which is working alright - i don't think this is an issue

if you are still getting issue with this let me know with some example - thanks


Email signature is set but does not appear in messages I compose

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.


That's entirely possible - CiviCRM 3.4 is about seven years old, and end-of-life support for it would have been about six years ago tops.  An upgrade is strongly recommended; such an old version would be extremely insecure at this point.


Event Contribution page missing trxn_id in template Contribution.tpl

It seems to depend on whether there was a transaction id set on the initial contribution. If there was one on the initial contribution then I see the refund trxn id on the refund. If there wasn't one on the initial contribution then I don't see a refund trxn id on the refund. This seems to be the same even in 5.5 as well as the public demo.


Installing CiviCRM 4.6.11 on a Joomla 3.4.8

CiviCRM is likely much heavier then the average Joomla Extension. And because it runs behind more CMS-systems the preferred installation could be different then the usual Joomla Extension.

Please have a look at the "Installing CiviCRM for Joomla" page on the CiviCRM site and follow the instructions there for the best way to install CiviCRM for Joomla:

http://wiki.civicrm.org/confluence/display/CRMDOC/Installing+CiviCRM+for+Joomla


How do I set a "Case Type Category" in the Compucorp CiviCase extension

There was a long discussion about the concept but the key comment is probably this one where it says it's not meant to be in the UI (or at least wasn't on the immediate roadmap) and such categories would be created by other extensions behind the scenes and specific to those extensions: https://lab.civicrm.org/dev/core/issues/630#note_16827

So it seems that yes at the moment you'd have to do it yourself outside the UI if you want your own categories.


How to get the new record ID, when adding a record to a multi-value custom field using the API?

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 :)


Can't view "Public View" of "Scheduled and Sent Messages" as a Super User admin in CiviCRM. Incorrect URL being constructed

This may or may not be related, but there is an ongoing issue relating to when /administrator is included in the path.  See https://lab.civicrm.org/dev/joomla/issues/5 for details.


So I figured out the error seemed to be related to partial upgrade I had (the SQL upgrade had worked, but the system hadn't changed the version number back from .upgrade, so it thought it wasn't finished). Once I fixed that, this problem went away.


New install, system status says "cron not running" and "timestamp mismatch"

The first thing I would check is the TimeZone setting in WP.  Go to Settings--> General.  That cannot be the default (UTC +0) as the default does not exist in php (UTC does, but not UTC +0).  That should solve the TZ mismatch.  Best to use one of these - http://php.net/manual/en/timezones.america.php  for NY I'd use America/New_York

As far as cron, I recommend that you set it using the wp-cli method as detailed here:  https://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs


Search builder participants - relative start dates and event types

You don't say what version of CiviCRM you're using, but I can do this using the Advanced Search function. Using this search I can filter by event types and use relative dates for the event start date. It's under the event panel when you're adding in your filters. This will give you a list of unique contacts that meet the criteria.

If you want to see all registrations (including each registration for people on more than one course) you can use the Find Participants search in the events menu.

Or you can also use the "display results as" feature in the advanced search if you want to build up your search with other non-event data. So you can filter on all criteria in the advanced search and then "display results as" participants to see the unique registrations.


I think this is down to the fact that your using the mailing jobs as part of your scheduled reminders and this is the reason the wrong date shows up. The mailing job will have the date of the 4th of april and thefore the activities all show that date. p.s. This is Parvez @ Veda hence I know the setup!


Depends on your CMS - Here is the link https://wiki.civicrm.org/confluence/display/CRMDOC/Installation+and+Upgrades
Always backup first -
It is kind of like doing an instal except you do not need to do the configuration after :-)


Welcome to StackExchange Grant!

In regular messages token for other "entities" such as memberships, contributions or event registrations are not available because each contact can have any number of them.

For example, if a contact had two memberships or event registrations, CiviCRM would not know which data to "fill in" when sending the email.

This is why CiviCRM has several special functions such as event and membership reminders or thank you letters for contributions.


What's the optimal method to archive a lot of mailings?

We have done some recent work on an Extension through which you can nominate a 'before' date and it then cleans out the Mailings along with the abundance of Activities, Activity Contacts etc.

So this is not 'Archiving' as per the OP, this is deletion and does not answer your question but am hoping it proves a useful answer for others who might stumble on this. We will be writing up a blog shortly. On the big databases we are testing this on it is clearing out millions of rows of data and speeding up other queries particularly related to Actvities.

Extension is at https://github.com/jitendrapurohit/nz.co.fuzion.deleteoldbulkmailings

NOTE: Usual warnings apply. Turn off logging before running this.


Session Key issues after upgrading from 4.4 to 4.6

Turns out while the error message is about the session key the issue is with the stripe payment processor plug-in.  I'll raise the issue on the plug-in's issue queue.


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


In Wordpress, I want to convert my installation from an external database to use the default database

It's actually quite simple to combine your databases.

Do a database export of your WP database:

mysqldump -u [username] -p [wp database name] > wp-original.sql

It'll ask for your password and then output your WordPress database to the wp-original.sql file.
Do a database export of your CiviCRM database:

mysqldump -u [username] -p [civi database name] > civi-original.sql

It'll ask for your password and then output your CiviCRM database to the civi-original.sql file.
Create a new database that'll be your combined database.  This way, you will still have your two original ones in case of emergency.  Grant permissions on the new database to the user that has permissions for your WordPress database.
Load the two exports into the new database:

mysql -u [username] -p [new database name] < wp-original.sql
mysql -u [username] -p [new database name] < civi-original.sql

Edit your wp-config.php to have the new database name:

define('DB_NAME', '[new database name]');

Edit your civicrm.settings.php to have the new database name (and appropriate username/password, if you had different ones for CiviCRM).  This will need to be done in both places--once for the CMS database and once for the CiviCRM database.

define( 'CIVICRM_UF_DSN', 'mysql://[username]:[password]@[hostname (probably just "localhost")]/[new database name]?new_link=true' );

define( 'CIVICRM_DSN', 'mysql://[username]:[password]@[hostname (probably just "localhost")]/[new database name]?new_link=true' );

You can probably just copy the CIVICRM_UF_DSN value once you've fixed the database name and paste it in place of the CIVICRM_DSN value.
Log in and make sure everything works on your existing server.

For Drupal and Joomla users, the principle is the same, just with settings.php and configuration.php, respectively, instead of wp-config.php.  The only difference is that on Joomla, you need to fix both civicrm.settings.php files (in administrator/components/com_civicrm and components/com_civicrm).

Now, I used to say that you should never put your site on WPEngine because they used to only run a version of PHP that was too old for CiviCRM.  That's been fixed.  However, they still run very aggressive caching, and you may find it to be a problem with CiviCRM.

You should definitely do your first run over there as an experiment and test it heavily, logging in as various users and trying out a variety of CiviCRM features.  There's a good possibility that it will either be unusable or take more of your time than you'd save by having things in the same place.  If you think of it, please comment with your experience--whether it works or doesn't.


How can I include a custom template file in an email template using smarty?

I dont think CiviCRM does this by default
However, I do think this is a good idea and makes sense to include it in core for non-civimail mailings (which already have a header/footer)
Might want to modify the core mailing functions:

CRM_Core_BAO_MessageTemplate::sendTemplate

to add a default header / footer

Might want to allow this to be overridden both at the system level, function level and via a hook


Why does CRM.url give different results in WordPress and Drupal?

I believe the third parameter should be boolean not string, 1 or 0/ true or false


CiviReport - Can Report Titles be sorted?

I don't think there is.

I would get around this by creating a new top level menu item called "XYZ reports" (assuming you work for company XYZ).

Then you can add major categories so that you can group reports as you want. (I have finance, membership, fundraising,training and marketing  as my categories/parents for the reports.) Once you have assigned a report to the appropriate parent menu you have complete control over the order of the reports via Administer > Customize Data and Screens > Navigaiton Menu.


How can I have a repeating activity in a case standard timeline?

I have done this once but it is a long time ago :-) As far as I know it is possible, and you have to set up the activity in the timeline. Just checked, the client in question solved it by having 'follow up 1', 'follow up 2' etc as activities and planning each one for a set period after the previous one. Does that help?


Option to have the employer field being a select with existing orgs?

The contact reference field in caldera forms limiting the entries to a group created containing the employers should work.


BCC emails not working - is there a log I can view?

The Administer Screen Settings - Outbound Mail gives you the option to enable Redirect to Database. (You can navigate to the screen with Administer -> System Settings -> Outbound Email (SMTP/SendMail), or with civicrm/admin/setting/smtp?reset=1)The mail is spooled to the table civicrm_mailing_spool.

Update: In case of the use of cc: and bcc: it is a bit tricky. I just did a short search in the code and found that, when the Pear mailing library is installed, the bcc and the cc: are removed from the Headers and added to the list of recipients. CRM-19173 explains the reason. So in the spool table, they can be found in the recipient_email appended to the list of email addresses, but not in the headers.

See the code at Mail.php line 260.


If you planning to reinstall CiviCRM on separate database than you will need to delete the civicrm.settings.php file which holds all the db settings.

Since you are using wordpress you can locate the file in one of the place below

wp-content/plugins/civicrm/civicrm.settings.php

or

wp-content/uploads/civicrm/civicrm.settings.php

HTH

Pradeep


Search for Transaction ID of CiviEvent Sub-Contribution

We created an extension that adds Search Payments functionality, as well as a Payments section to Advanced Search: https://github.com/JMAConsulting/biz.jmaconsulting.findpayments

HTH.


Getting CiviCRM resources to load on the Joomla frontend

I found that on Joomla the default value for CiviCRM Resource URL (on Administer > System Settings > Resource URLs), which is [civicrm.root], doesn't work. For me, using a relative path for CiviCRM Resource URL does work:

administrator/components/com_civicrm/civicrm/

See also the answers to this question and the work being done by Coleman, but that patch didn't work on Joomla when I tried it.

EDIT: As of 4.7.17, the default setting of [civicrm.root] appears to work properly now.


I think submitting a PR to make this variable protected would be perfectly reasonable.

Alternatively, there is a way to access private properties in PHP for the sake of unit testing via Reflection. It's slightly cludgy but it does work.


Change log crashes - table entity_log_civireport doesn't exist - how to fix?

I wonder whether log tables are being created in the wrong order by the config change that switches on Logging? If the error you see always refers to this same table, maybe creation of another log table triggers expects dcmadmin_civicrm.entity_log_civireport to exist already. Chicken and egg?
David


Adding individuals' event attendance as activity for employer?

There are a couple of ways to do this:

When creating an activity, add the Organization as a related contact.
Create an extension to automate adding the Organization (see below).
Create a custom report (not recommended).

As extensions go, it's pretty easy to write:

use the hook_civicrm_pre to hook created activities.
Use an API call to look up the contact.  Is the contact_type equal to Individual? Is the employer_id not null?
If so, add the employer as a related contact.

You'll have to consider edge cases: What happens if someone leaves an organization - does their attendance still count?  If someone joins an organization after the activity, does that count?  A custom report limits your ability to handle edge cases any way other than a "default" way, which is why it's not usually recommended.


How can I put Civi data in a data warehouse that supports OLAP cubes?

What do you mean? If you want to just do some reporting you could use any toolset like Pentaho, ClickView, Business Objects, Tableau or Periscope that you can attach to the CiviCRM database. Data warehousing sort of assumes you want to do your reporting on a frozen copy of the database, which you can easily do by dumping the CiviCRM database regularly. If you use a toolset that works with OLAP cubes you will have to define those cubes in your toolset. Something like ClickView does not need that. It does however require that you know your way around the CiviCRM database.