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"? Queue 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...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.
Long, long ago, before we had indoor plumbing, penicillin or `civix generate:module`, a humble drupal module was born.
It tried its best to be helpful by employing an (at the time) cutting edge technique known as CRM_Utils_Migrate_Import to dump a motley collection of custom fields, profiles and options into your CiviCRM database.
Along with other cutting edge techniques (such as lobotomies), the process of automatically adding custom fields, profiles and options has been improved and now can be done with managed entities and our lovely api.
The Progressive Technology Project helped bring about civicrm_engage, and has now prepared a series of much more sane alternatives that provide the same functionality, but are implemented using CiviCRM-native extensions that employ the CiviCRM API.
The replacement extensions are described below.
In addition civicrm_engage provided a few demographic fields and...Read more
2018 was a big year for Webform CiviCRM module. I wanted to take a moment to highlight some of the new features that were added in 2018 (with some examples/screenshots) and take a look at what's to come in 2019!
Webform CiviCRM Integration - what is this?
Webform CiviCRM is a Drupal module that in a nutshell exposes CiviCRM APIs (with which you can create CiviCRM contacts, contributions, memberships, participant registrations, activities - just about any CiviCRM Entity programmatically) to the powerful Drupal Webform module - a very popular (over 450,000 Drupal sites are using it) and highly configurable drag and drop form builder. Webform CiviCRM itself is a popular module - over 3,000 CiviCRM projects are using it. That's more users/sites than the Mosaico Extension has! Webform CiviCRM was invented by Coleman Watts (of the CiviCRM Core Team) and is supported by the CiviCRM community: ...Read more
Drupal module - CiviCRM Contact Distance Search
MillerTech released this Drupal module back in 2015 but have recently updated with new features (map and use your location) and to make it more configurable.
This module offers a fully configurable/extendable Drupal view that provides the functionality to search from a postcode and a distance.
Use case scenario – Find schools from my postcode within a 5 mile radius.
With the example above you would have schools as contacts in your CiviCRM database with a primary address and both the latitude and longitude fields should be populated.
The Drupal view that’s shipped with this module can be configured to filter on a particular contact subtype i.e. schools.
Search results will provide you with schools within a 5 mile radius of the entered postcode along with distance.
This is a first blog post about how we build the team portal for Roparun.
But first what is Roparun? The Roparun is a relay race of over 500 kilometres from Paris and Hamburg to Rotterdam, where people in teams, take part in an athletic event to raise money for people with cancer. It’s also called an adventure for life. This is also clear from the motto, which for years has been: ‘Adding life to days, when days often can’t be added to life’.
So each year Roparun organizes this race and around 400 teams participate in the event. The first part of the project was to setup donation functionality and that is working right now.
The next part of the project is to create a new portal for team captains where they can manage their team data, (e.g. name of the team, start location and the individual team members). We...Read more
We had a scenario where client runs a cluster of events, and folk sign up for these, and usually the registrants signs up for all events, but then they might invite mum to the Dinner, and brother John to the Talk, etc etc.
We wanted to achieve this on a single form with a single payment. We explored both CiviCart and Drupal Commerce but in the end concluded we could achieve this in a much lighter way with good old webforms.
The outcome is that up to 6 people can be registered for any combination of events, eg
- c1 registers for Events A, B, C, D, E and F
- c2 registers for B, C and D
- c3 registers for A and B
- c4 registers for A and F
To see the full gory details of the conditionals approach we took, please read the full blog on Fuzion's site.
Today, Skvare has released a new version of CiviCRM Entity, 2.0-beta11. This release contains a new feature, an admin configuration page which allows site administrators to disable exposure of entity types to Drupal.
CiviCRM Entity is a Drupal module which exposed CiviCRM API entity types as native Drupal entity types, providing Views, Rules, Entity Reference field integration, and Drupal native pages and forms for each. It supports both CiviCRM 4.6 LTS and CiviCRM 4.7.
Previous versions of CiviCRM Entity allowed developers to control access to Drupal based pages and forms for entity types, but there was no way for administrators to control what entity types were available in Views, Rules, or Entity Reference fields. As CiviCRM Entity has evolved over the past 2 years, over 45 entity types have been supported, including all the major financial record types. There are cases where many of these entity...Read more