civicrm-setup library aims to replace the CiviCRM installer. Following the December/January iteration, it's available for use as a CLI installer and as a web-based WordPress installer.
- Entropy: The main installer's code has grown messy. For example, it mixes...
A big thank you to all our CiviCON UK Sponsors. Here's a special post from Gold Sponsor Yoti:
Doing things differently: Registrations in seconds, logins without passwords and minimising data.
Over the last 15 years I’ve probably been responsible for around 50 or so websites or microsites that in some way or another have tried to gather people’s data. Either to enter into an event, join a forum or buy something. And like most other marketeers I’ve been obsessed by two things. Funnels and Data. i.e how easily are people signing up and how much do I now know about my customers. I’ve always known that by asking people for more information there was a danger people would drop out of my acquisition funnel but we marketeers are hungry for data. We want it all and we want it now.
I’ve now come to realise that less is more. I still want the customers, and loads of them, but I want them to join me on their terms. If I ask people less about themselves I’m more...Read more
Compatibility with PHP 5.3 will end in December 2017, and compatibility with PHP 5.4 will end in March 2018. These changes follow a number of discussions and a multi-year deprecation process. The current recommended version is PHP 5.6.
According to php.net, PHP v5.5.x became "end of life" in July 2016. This means that the official publishers of PHP no longer support v5.5.x -- if there are security issues in the PHP runtime, the PHP project won't provide advisories or fixes. They recommend that all PHP users upgrade. (That's just the security side of the equation -- upgrading to a newer PHP also brings access to better libraries and design-patterns.)
But... for small organizations using CiviCRM, upgrading their servers to a newer version of PHP would be an expense. So CiviCRM has continued to support PHP 5.5 (declining to...Read more
The 4.7.24 release is scheduled for the first Wednesday of September. Ordinarily, there would be an announcement about the release-candidate (RC) in mid-August, but we're doing something a bit different this time around -- extending the RC to a full month, which mean the RC is available now at http://download.civicrm.org/latest. Testing out the RC is a great way to ensure that your systems will continue to work in the next release. Let me talk about how this change helps.
Quality-control for a new release is a team sport. It relies on reporters and developers performing thoughtful analysis when they identify a problem or improvement. It relies on developers writing code which anticipates errors, improves test-coverage, and follows recognizable conventions. It relies on infrastructure running automated tests. It relies on reviewers understanding the problem-domain and questioning assumptions. It relies...Read more
CiviCooP and Systopia and Palasthotel have been working together on CiviProxy and CiviProxy. This blog is a round up of what we have achieved in the last couple of days. The first thing we have achieved is that we had fun and a very good work atmosphere. We made long days and made lots of progress.
What are CiviProxy and CiviMcRestFace?
CiviProxy is a script to act as an application firewall for CiviCRM. It could be used to put your civicrm in secure network. CiviProxy is the gatekeeper to which external systems, such as your website, connect (this is for example when a user signs a petition on your website and the website submits this data to your CiviCRM). CiviProxy will make sure the call is from the right place (ip-adress) and is only doing what allowed to do.
CiviMcRestFace (CiviMRF) is a framework to be used in other systems (such as your external website) to connect to CiviCRM. The framework itself is...Read more
At the CiviCons and developer meetings this year, we've had several conversations about release strategy. The topic is a bit abstract -- touching on a web of interrelated issues of technology and scheduling and business-process. I've been searching for a way to explain this topic to people who don't eat and breathe code in CiviCRM's
git repos -- an analysis which is a bit simpler and more transcendent.
The best analysis predates us by a few years -- Will Durant attributed the idea to Aristotle's Nicomachean Ethics, paraphrasing:
We are what we repeatedly do. Excellence, then, is not an act, but a habit.
All of us -- users, developers, administrators, core, contributors -- want excellence in CiviCRM. Does that mean we need one grand release to prove our excellence? No, excellence merely means that we review every patch thoughtfully. Excellence means that we have mastery over our use-cases, and that we...Read more
To ensure that CiviCRM continues to work with standard, contemporary PHP hosting platforms, a future version may make a subtle change in hosting requirements. We expect this to be mostly seamless; however, we're looking for administrators responsible for sites running a recent CiviCRM (e.g. v4.7+) to spend a few minutes to help ensure a smooth transition.
Q: I'm not too fluent in geek-speak. What should I do?
Forward this to whoever manages your server. If you work with a CiviCRM partner, they may be thinking of you already.
Q: I am fluent in geek-speak. What should I do?
Determine if your web server has the PHP extension
mysqli installed. Any of these will tell you:
Use the server's command-line:
php -r 'echo extension_loaded("mysqli") ? "loaded\n" : "missing\n";'".
- It should display "loaded".
- Run "
For many years CiviCRM has had the capability to log all actions that take place in the database but while it mostly works well there have been a few issues. I looked into these recently and came up with some improvements, which shipped in 4.7.7 - but if you want to take advantage of them there are some actions you might need to take. This article is mostly intended for a technical audience.
How does CiviCRM logging work?
Turning logging on is as simple as checking the box 'Logging' on the admin page at Administer->System Settings->Misc. Once you do this a 'shadow table' for each table in your database (except for cache tables) is created. For example log_civicm_contact tracks civicrm_contact table. MySQL triggers are created that cause every update, insert or delete action to be logged in these tables. Some of the data in these tables can be viewed through the 'Log' tab on the contact record, although much more is only visible through...Read more
Busy sites have often encountered problems with deadlocks on the group contact cache. There were no less that 3 different code contributions to mitigate this problem put up for 4.7.8 and a number of other discussions have been going on in JIRA.
Merged into 4.7.8 are some improvements which we hope will mitigate this problem for those sites that experience it. JIRA is the primary source of information on this, however I wanted to share a brief overview.
The focus of the fix so far has been very much on deadlocks when clearing the contact cache. The reason being that these have been causing the most havoc. In analysing the problem it turned out that when someone edits pretty much anything the code looks for stale groups & tries to flush the cache. Depending on the size of the cache that can take a few seconds and it doesn't update the cache last flushed date until afterwards. So if the...Read more