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
This blog post explains how you could insert data from a CSV file into CiviCRM. We use Pentaho Data Integration to read the CSV file and to call a Form Processor in CiviCRM.
This blog post is an example and when you follow the steps described in this post you can run the same import as me.
Pentaho is a tool to extract and transform data.
The form processor is an extension to create end points for forms in CiviCRM. Those end points can then be called through the api.
- Pentaho Data Integration installed on your computer (https://sourceforge.net/projects/pentaho/)
- Form processor extension installed in CiviCRM (https://lab.civicrm.org/extensions/form-processor/)
- Know your Site Key and API key (the api key is attached to a civicrm user). See...
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
With generous support from the community funding our first Form Builder Make-it-happen campaign, Tim Otten & Coleman Watts have begun regular code sprints for phase 1 of the Form Builder project. The extension is evolving rapidly, but I wanted to take a break from development for a few minutes to update you on what we've accomplished so far and where we go from here.
We now have a data model that can support the complex needs of CRM forms - multiple contacts, relationships, and repeatable entities (e.g. enter 1 or more children for a family, and 1 or more email address & phone number for the parents). We've developed the concept of "field blocks" which are configurable groups of fields that all function together (e.g. a Name block which handles first, middle, last name, prefix, suffix and title). And we have a prototype framework to render...Read more
The recent DevCamp in New Jersey presented several sessions on new developments in CiviCRM land as well as showcased several of its inner workings. One session presented by Core Team member Tim Otten stood out for me: Form Builder. If you’re like me, you listen to folks like Tim with a great deal of respect and appreciation for what they say (and do). That doesn’t necessarily mean you understand everything he says, but you know enough to know that what he’s saying is probably right and well thought out! Occasionally, you do understand it though.
I’ve had one of those moments, and I wanted to report back to the rest of the world. As you might be aware, we kicked off a Make It Happen campaign to flesh out a working prototype of Form Builder. In the Make It Happen campaign we talk...Read more
As our North American colleagues (and those who have made the big trip over there) head into the governance sprint now seems like a good time to recap on product maintenance in CiviCRM. Product maintenance, as I discuss, is the monthly routine processes we do to incorporate patches & contributions into the CiviCRM product. This blog is kinda long & weedsy - so if it’s not for you then take a look at this baby octopus instead.
Since 2016 we have been running an approach to managing CiviCRM called LeXIM. I can’t explain LeXIM better than Tim did so I have plagiarised the following from his blog
LEAP BY EXTENSION. ITERATE BY MONTH. (LEXIM)
If a change represents a major leap...
In this blog post I want to show how you could use the new form processor extension to handle form submissions from an external website.
My (imaginary) organisation provides buddies for young people and the form on our website is submitted when somebody is interested in becoming a buddy for a teenager. We ask for the name, address, e-mail, telephone number, birth date and gender.
After the person has submitted the form one of our employees should make an intake phone call with the person and this should happen within a month.
When the form is submitted we want to have the following situation in CiviCRM:
- A new individual with subtype Buddy is created
- The new individual is added to the group 'Interested in becoming a buddy'
- An activity of type 'Intake' is added and scheduled a month ahead
In this blog post I am going to show how you could create...Read more
A couple of months ago, I made the first commits to a repository in which I have been experimenting with CiviCRM Buildkit on Docker. It's gone quite well so far. Last week we found out that as part of the Google Summer of Code, we will be running two Docker based projects, so it seemed like a good time for a post.
Health warning: I've tried to make this post accessible to a wide audience but it does get technical in places.
For those unfamiliar with CiviCRM buildkit, it is a collection of roughly 20 tools designed specifically for developing and testing CiviCRM.
For those unfamiliar with...Read more
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