Upcoming Events
San Francisco CiviCRM Meetup - February 8th, 2012
February 8th, 2012
Come meet others from the Bay Area who are interested in, using or developing (more...)
UK usergroup - London meetup
February 8th, 2012
Come and meet others from the UK that are using CiviCRM or are interested in (more...)
London user and administrator training
February 23rd, 2012
A comprehensive two day hands on training course covering the configuration, (more...)
CiviCRM London sprint Feb 2012
February 27th, 2012
Following the CiviCRM training here in London, we will have a CiviCRM code (more...)
UK South West - CiviCRM Meetup
March 20th, 2012
Come meet others from the Area who are interested in, using or developing for (more...)
[Bristol, UK] user and administrator training
March 21st, 2012
A comprehensive hands on training course covering the configuration, (more...)
San Francisco user and administrator training
March 29th, 2012
A comprehensive two day hands on training course covering the configuration, (more...)
CiviCRM Usability, Test and Code Sprint - San Francisco (March 2012)
March 29th, 2012
This usability, code and test sprint is targeted at CiviCRM users and (more...)
CiviCon 2012 San Francisco Bay Area - April 2nd 2012
April 2nd, 2012
CiviCon is THE annual event bringing together the people who use, develop, (more...)
CiviCRM Documentation, Test and Code Sprint - after CiviCon San Francisco (April 2012)
April 4th, 2012
This sprint is targeted at CiviCRM users and developers who want to work on (more...)
Custom Groups, Custom Fields and multiple values
- Not Just a Contact Database
-
These optional components give you more power to connect and engage your supporters.

civiCASE
Case management for clients and constituents.

civiCONTRIBUTE
Online fundraising and donor management.

civiEVENT
Online event registration and participant tracking.

civiMEMBER
Online signup and membership management.

civiMAIL
Personalized email blasts and newsletters.

civiREPORT
Report generation and template management.
The CiviCRM core team is currently meeting in San Francisco. We tend to meet 2-3 times a year. These meetings help us crank out a few large projects as a group and also help improve our communication when we return to our respective home bases. The focus of the San Francisco meetup has been on CiviCase, US PIRG projects and a few features from the 2.2 roadmap.
Our group (kurund, yashodha and me) have been working on extending custom groups with two new features. In 2.2 a custom group can be designated to hold multiple values. This allows a contact (or relationship/group/activity) to have a 1 to n relationship with a custom group. One use cases for this is storing educational history of a contact. A custom group with fields: Name of School, Qualification earned and Graduation Date could be designated as multi-valued. A contact could have 0 or more educational records. Viewing this custom group will show all the educational information associated with the contact. On edit, you can modify the existing information and/or choose to add new information. Implementing this at a group level has fairly minimal schema changes and is a good chunk for us to tackle and get working for 2.2.
Kurund is working on building the view/edit/create screens using jQuery. Yashi has been working on database and interface changes needed for custom group settings. I was responsible for the api functions that store/retrieve custom values from the table. I wrote a few unit tests and in the process found a couple of bugs with the current custom data storage. I then extended the parameters and return values to allow for multiple value and wrote a few more unit tests to ensure that this worked in both the old and the new format. The CiviCRM code base is fairly well structured, so we have to make the code changes in just a few places (or so we hope). We are also taking this time to clean and update the custom group/field codebase
Yashi is also working on adding custom group support for specific events pages. Users will be able to create a custom group that extends the object 'Participant' for one specific event. We will generalize this in future releases and add more fields.







Comments
jQuery - more javascript
I looked quickly at jQuery and while I have no technical opinion on its use I do have a practical concern - Kilobytes!
What with DoJo, Calendar, and MooTool (in Joomla 1.5) scripts, the first connection to a CiviCRM site downloads about 0.5 Mb of data - sloooow. Each subsequent connection tests each of these .js files for an update - slooow. This is particularly a problem over an HTTPS connection where you can't use a proxy.
Please consider performance as well as functionality/coolness.
dojo and calendar will be retired in a future release ..
we will not be able to make the full transition in 2.2, but in 2.3 we'll only ship with jQuery. We'll also replace the calendar widget with a jquery calendar widget (or so we hope)
lobo
Great news
Glad to hear this piece is coming together. It will provide great flexibility for the system.
I will be interested to see how the multiple value groups integrate into profiles, especially if they are combined with custom fields (and core fields) that are not multiple values.
Within a single profile, would a user be able to complete some single-value fields, and have the option of entering multiple records for the multiple value fields? This, in my mind, would be the best scenario. Envision a form where a number of records regarding the individual are captured, and, as in the example above, the user can complete 3 records for their educational background, then 5 records for their employment background. All within the same form.
integration with profiles might not happen in 2.2 ..
i suspect profile integration will be in 2.3/3.0
Import/Export
Wow, this could not have been more timely.
Are there plans to support importing into these fields? Sorry if this is an obvious question :)
Hmm, i dont think so ...
the first version will be pretty simple and restrictive. So i'm pretty sure we wont support import/export for these groups/fields
Once we get the multiple value thing working for custom groups, our next task will be to get it working via profiles and figure out what extensions we need to do so. I suspect we'll look into import/export after that
however if important to you, consider a code contribution / sponsorship. You can also write a custom search to do the needful quite easily
lobo