In 1992, there was a little known new thing called the world wide web. By 1995, it was a "thing". Now, what exactly do those quotes do to the word "thing"? And what does this have to do with "entities"? Cue my favorite programming joke.
Q: What are the two hardest problems in computer programming?
A: Naming things, garbage collection, and off-by-one calculations.
All of that joke is true, but it's the first problem that is the point of this blog post. Because "entity" is just a fancy word for "thing", i.e. coders have the same problem naming some "things" as everyone else does.
What is an Entity?
Just as in our vernacular usage, an "entity" is a "thing with something extra", and it's the "extra" that makes it an entity. To make it more concrete: lots of things can be entities, and in CiviCRM, all contacts, contributions, and events are entities. It's not to hard to think of a contact as a "thing", but in fact, a lot more things in CiviCRM are...Read more
In the coming weeks, you can expect a series of changes going into the development pipeline to support the CiviCRM-Drupal 8 integration. Individually, these will seem unrelated and disjoint - they may not explicitly reference “D8”. I wanted to spend a moment to discuss the concept which ties them together: the clean install process, which will make Civi-D8 an equal member of the Civi CMS club and a good base for continued development and maintenance.
This work on D8 stabilization has been made possible by the generous funders of the Civi-D8 Official Release MIH. If you’d like to see more topics addressed, please consider contributing to the MIH.
What do you mean by "clean" install process?
A "clean" install process is a set of steps for building a site in which CiviCRM comes in a direct fashion from source-code with a bare minimum...Read more
For starters, over 200 Drupal 8 sites already run CiviCRM! This post is based on my own research and conversations with those involved, and is intended to be informative and encouraging. As you may know, CiviCRM works with no less than four CMS at the moment, including three versions of Drupal, two 'officially'. Understandably with Drupal 7 end-of-support scheduled for Nov 2021, there has been recent discussion amongst those using or considering Drupal about which to use for your website.
- Many Drupal shops already support and recommend Drupal 8 with CiviCRM
- Preferred installation techniques for Drupal 8 have coalesced around the use of the Composer tool
The CiviCRM core team have looked at this and are now in a position to complete the work to make this an official CiviCRM release. This means they will make changes so
- CiviCRM can easily be installed with Drupal 8
- They will ensure CiviCRM works with Views in Drupal 8
- Going forward future CiviCRM releases will be tested with Drupal 8
Any money raised by the Make It Happen which is not spent on the initial work will be used to support future work on the CiviCRM Drupal 8 integration as needed.
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
A Make It Happen page (now closed) has been set up for getting CiviCRM ready to roll when Drupal 8 hits the stores.
This Make It Happen is for $10,000 to fix breakages as the final release candidates of Drupal 8 roll out (such as dealing with Symfony conflicts), and setting it up to work with BuildKit so we can provide a Demo site as part of the civicrm.org set of demo sites.
There will be a further MIHs for other related work such as refactoring the CiviCRM Entity module in order to deliver all the goodies of Entities and Rules, and provide improved solutions for CiviMember Roles Sync and CiviGroup Roles Sync, upgrading Webform CiviCRM.
But our first goal is to make sure that CiviCRM can be rolled out as soon as possible after Drupal 8 gets launched.UPDATE: There is now a list of issues on JIRA here. If you want to approach... Read more
Drupal 8 is likely to be released around September. Fuzion have been driving the initiative to have CiviCRM ready to roll when Drupal 8 is released and there have already been some generous sponsors for our work to help get us this far. We have CiviCRM currently working on latest beta, and old friends like Views are working fine and you can give it a try out at http://civid8.fudev.co.nz/.
But there is still lots to do to get Rules, Entities and Webform working. A Make It Happen has just been launched, and you can help progress this work by chipping in here https://civicrm.org/civicrm/contribute/transact?reset=1&id=71, or you can...Read more
Thanks to generous contributions from Fuzion and Beat Schnyder from basx GmbH, I was able to put in a few days work over the last month into the Drupal 8 integration module, allowing Drupal 8 and CiviCRM to interoperate.
I had done a large chunk of work of the initial work for this during Google Summer of Code last year but as Drupal 8 has been under heavy development, so much had changed that the module needed to be carefully picked over to bring back into a working state. Over the several days of funding I had, I managed to get both the module and install working against the latest Drupal 8 beta (at the time, beta-9 but now 10 too) and Civicrm 4.6.3 in time for the Denver CiviCon sprint.
You can check out the current state of things (along with all the bugs and so on) here: http://civid8....Read more
Can you help Fuzion take the Drupal 8 integration module that was developed as part of 2014 Google Summer of Code and get it working with the most recent version of Drupal 8 and publicly available for testing?
Getting CiviCRM ready for Drupal 8 was always going to be a task with many stages. Thanks to the funding from the Google Summer of Code 2014 in August last year Torrance, was able to get CiviCRM functioning well on what was then the latest alpha of Drupal 8. Highlights of this work included a native, Drupal-side installer for CiviCRM, Views integration using CiviCRM to discover the database schema (cutting the Views module from 15,000 lines to code to under 2,000), and a set of integration tests for both CiviCRM and Views.
But as Drupal 8 has continued active development, many core APIs have changed and ….. the integration has regressed.
Lots of these changes are relatively minor: during alpha there were still plenty of structured arrays hanging...Read more
As part of the Google Summer of Code, I began work on getting CiviCRM and the upcoming Drupal 8 working together nicely. I made an update about midway through and it's time for another update. I had separated the project into a number of milestones. Phases 1, 2 and 3 dealt with varying aspects of the core CiviCRM module functionality. This work has largely been completed and there are pull requests pending into CiviCRM core, though the front end user experience is still a bit rough (for example, the CiviCRM menu bar doesn’t sit well alongside the Drupal menu). The installation process is quite different with Drupal 8: civicrm now installs as if it were any other Drupal module — simply by clicking enable. It's no longer necessary to use the CiviCRM installer before enabling the module. This handles the most common use case where CiviCRM is installed in the same database as Drupal itself. Custom options can be...Read more