You can pass the skip_undelete parameter to the API, ie.
$result = civicrm_api3('Contact', 'delete', array(
'sequential' => 1,
'id' => 9999999999999999999, // replace with your contact's Id.
'skip_undelete' => 1,
Obviously a lot of care has to be taken over specifying the id to delete...
If logging is on then results will be retrieved from the log_xxx tables not civicm_log.
Normally these tables use the archive engine - which is not indexable. We have in some cases selectively converted these to INNODB & added indexes
Archive tables are supposed to be quick to write to and slow to read from. They are also non-transactional - which ...
Might be easiest to update the database is_default field. Works for me on a 4.6 site:
update civicrm_option_value set is_default=0 where option_group_id=26 and name='Scheduled';
update civicrm_option_value set is_default=1 where option_group_id=26 and name='Completed';
You may need to change the 26 but it's a stock option group. To confirm first can do:
The performance improvements to move from 4.6 to 4.7 when you have a large installation is, in itself, worthwhile (we did it when we had about 500k contacts, we would have done it earlier if we'd known how much faster some things were). If you go for a big upgrade, I recommend you to move to php7 too.
As for the features, this blogs list a few, but it's ...
For CiviCRM 4.6+ go to Administer menu > Customize Data and Screens > Date Preferences. From there, change the Start Offset of SearchDate.
I found this answer in Member since date before 1995 and although it talks about Membership dates, it apparently applies to Relationship dates too.
This is a preference you can set, but it's not exposed in the web interface. There's a section of civicrm.settings.php that documents it. In case you've upgraded from an older version of CiviCRM that doesn't have it, I'm including it here:
// Opt-out of announcements by the CiviCRM core team for releases, paid services, events, etc. Separate each ...
The main factor is probably the resolution of the tablet rather than its size, but the UI is in general meant to be used with a keyboard and a mouse (or very very pointy fingers ;)
For the mobiles, they have been several projects to provide a subset of CiviCRM features available.
One is cividroid, an android application from the latest google summer of ...
OK, turns out this was due to erroneous entries in the Drupal settings.php file. The following entries were causing cookies to be missed by Civi:-
Others may also cause inconsistencies, such as:-
I think you can safely trim the civicrm_job_log, only the latest entries are probably useful (and given how little information the cronjobs return, I'd even doubt that ;)
As for the civicrm_log (or subscription history), it might be more risky to remove as you will loose "useful" history of what happened with your contacts, but from a technical point of ...
You can use the buildForm hook on an activity to check if the activity belongs to a case (in which case case_id will not be empty I think) and then set the default status to Completed.
There is an example here, although it sets different statuses for different types it basically does the same thing. Copy and change I would say :-): https://github.com/PUMNL/...
I found the answer here in an old forum posting Civicase creates a group called 'Case Resources' into which it drops any contact you add (as described above). So to remove these from all cases you just edit this group. Phew! Wasted an hour or so, but now a little wiser!
this is configurable at this path civicrm/admin/setting/preferences/display?reset=1 which is found from Administer > Customise > Display Preferences.
The top section is called Viewing Contacts and has a checkbox for eg Activities
Your site is affected by CRM-16009 - URL for Contact Image in View incorrectly generating.
That URL should look like this -
rather than this -
For people googling, I significantly increased the speed of the Change Log by following Eileen's advice in her answer: convert some tables (activity, activity_contact, contact, group, group_contact) from ARCHIVE to INNODB, and adding indexes.
The Change Log still takes ~20 seconds to load, but that's much better than the minutes it used to. We've taken a ...
To answer your different questions:
I don't see what I would type in to locate it any other way?
You would locate it by typing in the activity subject. Admittedly, this isn't perfect because some activities might have no subject, and therefore can't be located via autocomplete.
Is there a way to override those new GUI elements
Update: now the answer ...
This was due to permissions in the templates_c folder. Some entries in there were not deletable by the user that Apache was running as. I discovered this by attempting to clear caches at civicrm/admin/setting/updateConfigBackend?reset=1 which generated lots of errors.
Removing these files/or correcting their permissions and clearing the cache fixed it.
A great explanation of PCI compliance and things an organization should consider relating to PCI compliance is available from this CiviCon Denver 2015 talk: CiviCon Denver Data Security and Payment. See my answer here for other relevant info: https://civicrm.stackexchange.com/a/10453/105
We also use Drupal 7 and Civi 4.6, but are hosted on MediaTemple and ...
I have had experience with AuthorizeNet and PCI compliance both with CiviCRM installs and other sites with custom configurations. the process is the same, generally the merchant account provider will require scans through a service provider. You will most likely need to make adjustments to server settings, primarily port/firewall adjustments. Depending on ...
As of CiviCRM Entity 2.0-beta8 the Views relationships to Country and World Region have been made available. You must install the CiviCRM Entity Views Extras submodule.
CiviCRM Entity can be downloaded here:
Thanks Jon G for providing the solution to turn off the community messages.
However, as one of the organizers of CiviCamp Brussels 2018, I am very happy with this feature. It's an effective way to reach civi users who are not on your own mailing lists and who might otherwise miss the event.
They would miss an opportunity to engage with the community. And ...
I am not sure if you are asking similar question to this one but my answer is the same so hopefully it helps you move forward.
Eileen did an extension that added some membership tokens to deal with contacts having multiple membership and which do work from 'contact'
please let us ...
Let's say $params is enough to find the single activity, e.g. $params = ['activity_id' => 123] where 123 is the known Id. But it could be any other API acceptable params.
$result = civicrm_api3('activity', 'getsingle', $params)
+ civicrm_api3('activity', 'getsingle',
[return:'custom_%,activity_type_id'] + $params);
This was part of a google summer of code. This requires change in the core and it wasn't "production ready" and hasn't been merged. For what I recall, they were a few tweaks that were "big gain", like automatically generate the input fields (most of?) so they use the same html structure and classes than bootstrap.
It would be great to complete the project ...
At the moment recurring events don't support registering a participant onto all/some occurrences through the registration process. Its a feature thats been requested a few times and we're looking for funding to make it happen. Please get in touch if your interested.
The log tables as originally implemented (I have checked for a few years if this is the case) also contain a large number of superfluous records due to writes that don't actually change the data. Improving the triggers to check for a difference between old and new values before the write to log would improve things for everyone.