Active Development has restarted on the Drupal 8 version. It is possible to get it installed now, although it takes a slight different process than with Drupal 7.
Assuming you have Drupal 8.2.5 installed.
Download and install the 8.x-3.x-dev version of the Libraries module:
Download the most recent version of ...
The short answer is easy, which you can take away from Does CiviCRM work with Drupal 8 and how can I help? — CiviCRM is not yet fully functional with Drupal 8. You can see issues tagged for Drupal 8 in JIRA, and even better, help test and develop the Drupal 8 branch code.
The long answer is more complicated, and depends on your organization's development ...
See answer from @jackrabbithanna for current status.
tl;dr : It's not yet production ready, and the list of things you can help on is in JIRA at https://issues.civicrm.org/jira/browse/CRM-17652?filter=23012 . Additionally, please create additional issues and mark Label them drupal-8.
Building on the previous work, Allen Shaw made some progress recently ...
I've recently been reviewing the code, testing against Drupal 8.2.5, and developing and submitting Pull Requests to the D8 module. I've been roughly estimating the time that would be required to get it working good enough to install on a client's site.
I had the same problem today, so I looked in the source code.
In civicrm.install there's a function called _civicrm_get_db_config. It's looking in the $databases array for an element with a key civicrm. So I added this to settings.php:
$databases['civicrm']['default'] = array (
'database' => 'civi_db_name',
'username' => 'mysqluser',
You could also try the RoundEarth distribution: https://gitlab.com/mydropwizard/roundearth-drops-8
"RoundEarth is a template for building a website for a nonprofit
organization, based on Drupal 8 and CiviCRM."
I was able to separate my Drupal 8 database from my CiviCRM database fairly easily, here are my notes I took on how to do it. Note that these steps aren't particularly specific to Drupal 8, and can be used to convert any single-database install into a two-database install.
Create a new database (e.g. "example_civi") on the same server.
Do NOT create a ...
Depending on how your initial site set up was created you might need to take a more extreme option detailed below but hopefully the following will work:
If you want you can copy composer.json , composer.lock to a new directory (or local) and use issue composer installto check the below works this can be useful if you are having problems and need to remove ...
Answer to the Issue
The origin of the problem is when you ignore this: https://civicrm.org/blog/daved/action-required-drupal-8-installs-and-upgrades-composer-and-patches
To fix an existing installation which was upgraded or installed without the 'enable-patching' configuration, you can can do this:
composer config 'extra.enable-patching' true
composer update ...
Ok here are the steps!
I'm on a Mac/MAMP and I use PhpStorm
A. Get Drupal
composer create-project drupal/recommended-project:8.9.13 d8civicrm.local
composer config extra.enable-patching true
composer config minimum-stability dev
B. Get CiviCRM
composer require civicrm/civicrm-core:5.35.0 civicrm/civicrm-packages:5.35.0 civicrm/civicrm-...
It should be possible to do any one of these:
Use CiviCRM 5.31+. The error message above suggests it is using 5.30.x, which has older metadata. (Compare: 5.31's composer.json vs 5.30's composer.json)
Stick to composer v1 for as long as you're using an older version of Civi.
composer self-update --1
In the future, after you switch to a newer version of ...
I am not sure how to sync drupal profile image with CiviCRM contact image through UI. But you can add module and invoke hook to update the contact image.
Here is the snippet how to add image url to contact
$params = [
'contact_id' => 2,
'image_URL' => [
'name' => '/var/www/html/drupal/sites/default/files/civicrm/custom/...
There is still work to be done to get this firing fully - and you many need to reach out to some of the Partners to help get things working sufficiently for your scenario. There are a number that have done a bunch of work in this area.
There are some other Drupal tools that aren't fully firing with civicrm, ones that we use in pretty much every development ...
I'm afraid CiviCRM doesn't support Drupal 8 yet. You will need to install Drupal 7.
You can find more details here: Installation and Upgrades
See also this question: Does CiviCRM work with Drupal 8 and how can I help?
I am working with an organization that has been struggling with that question. They were originally planning to upgrade their Drupal 6 site to D8, but D8 progress has been so slow (notably lack of webform module & incomplete CiviCRM integration) that they have decided to switch to Backdrop. Backdrop-CiviCRM integration is functionally complete, as is the ...
UPDATE: Note this is now slightly out of date but the gist is correct, so follow the spirit if not the exact details. In particular if I was doing it again now there is a non-roundearth way to also install D8+civi, e.g. https://civicrm.stackexchange.com/a/35608/181 (official docs are in the works), and that method will set different path settings in civicrm....
Graham - I've reproduced that. Not seeing the date of birth field either. Seeing lots of other dates though. Not sure what's going on. Could you please open an issue here: https://github.com/eileenmcnaughton/civicrm_entity/issues
Update: this is now top of the list for D8CE.
Updated: this is fixed now as of https://github.com/eileenmcnaughton/...
Using Webform and Webform CiviCRM modules create a webform with the fields required for the user and their organisation to create the contact and organisation in CiviCRM.
Then create a WebformHandler to programmatically create the user using the postSave() function. The WebformHandler is a single php file that needs to be saved in a custom module folder as:
Ben's answer sounds like a really good extra tool for this. Just for the record other solutions include
using Tags and CMS User extension https://github.com/Skvare/com.skvare.cmsuser
Drupal Rules eg https://github.com/eileenmcnaughton/civicrm_entity/pull/273/files
Drupal 8/CiviCRM has the composer-patches package already installed. So you can add a section to the "extra" element in composer.json called "patches", and list out the patch with a title and a URL (or path) to a .diff file. Here's an example where I add four patches to standard CiviCRM:
diff --git a/composer.json b/composer.json
index 453ff74..5827a69 ...
I think the current easiest and best way is to:
Install Drupal 8 with the recommended composer template
composer create-project drupal/recommended-project my_site_name_dir
composer require civicrm/civicrm-asset-plugin:^5.25 civicrm/civicrm-drupal-8:^5.25 civicrm/civicrm-packages:^5.25
Enable CiviCRM in the modules list
My experience with anything composer-ish seems to be:
Struggle with it for a while until the site becomes messed up beyond repair.
Restore from backup and struggle some more until it's messed up again.
Create a brand new install and then copy over the sites/default folder and .htaccess and such.
Replace the database with my backup.
Run the upgrades.
In practice it's as simple as doing a composer update for the most part - assuming you're configured "sensibly" - the RoundEarth setup makes (or at least made!) some assumptions re: versioning that are not helpful for upgrading. So here goes:
You should declare both civicrm-core and civicrm-drupal-8 in your composer json file. In the require section you ...
Roundearth just recently switched to using civicrm-asset-plugin and it may not be fully integrated yet.
CiviCRM can be installed on drupal 8 without roundearth now - it's still not "official" but is being used by some.
composer create-project drupal/recommended-project some-folder
# replace the 'x' below with a proper version number