12 March, 2012

A member sends several separate payments to cover outstanding dues on a single purchase, like an expensive membership or a table at an event. How are you going to record this?

A conference participant selects “Pay Later” on several different event registrations, and later wants to pay them all in a single credit card transaction.  How are you going to support this?

Current versions of CiviCRM don't offer a way to record multiple payments against a single obligation, or to split one payment among multiple obligations, but the CiviAccounts project is working to allow this flexibility.  Work on data structure improvements has been going on for some time; it's part of a broad effort to help CiviCRM's financial data to be more compatible with QuickBooks and other accounting software packages, and it lays the groundwork for lots of possibilities, including more flexible payment processing.

... Read more
03 March, 2012
By xavier

Hi,

The code sprint in London has finished yesterday. It's always a pleasure to see old civi friends and meet new ones. Thanks to Michael and Katy to have organized it. Time for a quick update of what I've been working on with the most obscure title I could find. My focus has been on usuability to make civicrm easier and faster to use.

 

To make our crm more user friendly, we need to make the pages more "application like", where you can add, edit remove and reorder from the same page without having to switch and go to more pages with forms to fill and save. And load. And wait. And save, and load and wait more...

 

For instance  -and that will be a make it happen that we launch next week to improve- creating a survey today means you have to go to visit a different page to create the survey, the profile, for each field you add in the profile, for each custom field you need to...

Read more
22 February, 2012

Batch entry of gifts (checks, cash, etc.) is a much requested "missing feature" in CiviCRM. Thanks to a generous sponsorship commitment from the Electronic Frontier Foundation, we are about to launch a Make-it-Happen campaign to implement this feature for the next release (4.2). We've spent some time discussing requirements with folks at EFF and several other organizations, and we've reviewed analogous functionality offered by several of the proprietary donor management products. The purpose of this post is to share the draft specifications for the feature and solicit feedback from others in the community.

Overview

The goal is to provide a streamlined interface for data entry of batches of contributions and membership payments. A simple batching concept will be introduced to provide verification of count and totals. The feature will use a grid-style input form with the columns controlled by a selected profile. This...

Read more
05 September, 2011

Over the past few years the administration menu has grown quite a bit. Although I use it quite often, I find that I'm sometimes unsure where to look for a particular configuration option. We've heard the same comments  from both experienced and new users - so Xavier Dutoit and I thought it would be a good idea to take a stab at re-working the menu structure. The goals of the re-organization are:

  • reduce confusion - especially understanding the differences between Customize, Configure and Manage
  • reduce the # of clicks to get to any admin option
  • clarify language a bit


During the recent code sprint in the UK, we had a chance to do a "card sort" on the admin menu with Jamie McClelland from Progressive Technology Project. We came up with a proposed re-organization, and then tested it with the book sprint team by presenting the top level categories and  asking each person to note down the category where they would expect a...

Read more
29 August, 2011
By totten

Several CiviCRM users have expressed an interest in managing CiviCRM activities with a smooth, interactive calendar screen.  Since calendaring can be a complex topic, we've put together a basic, working calendar to facilitate discussion.  The prototype resembles the calendar included in other relationship-management tools:

Calendar screenshot

The calendar is implemented in three pieces: (1) the excellent jquery-week-calendar plugin provides a rich Javascript interface for dragging and dropping calendar items, (2) arms_recur provides an API for creating recurring activities, and (3) example_calendar integrates these pieces into the CiviCRM interface.

If you think that a rich calendar interface would improve CiviCRM, then please give the prototype a...

Read more
24 June, 2011

For all you "customizers" out there - I wanted to highlight a cool new feature that is available as of the 3.4.3 / 4.0.3 release. You can now append jQuery functions, Smarty code, HTML (really anything) to any template without having to create a customized copy of the entire file. Wow - you say, "how the h?!# do I do that?"

All you need to do is put your "extra stuff" in a new file and save it as template_to_append_to.extra.tpl.

EXAMPLE: You want to add some jQuery to hide a few of the fields in the Contact Edit form - Contact.tpl.
1. Configure your Custom Templates directory
2. Create the directory structure in your custom templates directory (CRM/Contact/Form)
3. Write your jQuery script and save it in a file called Contact.extra.tpl

Voila - your jQuery script will be appended to the standard Contact.tpl template!

One heads up … if your file contains Javascript (as it probably will), you will need to start your "...

Read more
25 January, 2011

The staff at Denver DataMan have identified CiviCRM as the CRM that we believe is best suited for making a truly robust CRM that will be accessible for the blind. We have received funding from the Colorado Center for the Blind to allow us to support the development of this innovative project.

The solutions that we are proposing to implement will also help make the overall structure of CiviCRM more adaptable and in doing so paves the way for the development of mobile sites and other applications requiring functional changes based on user selections or device limitations with CiviCRM. 

You can read the post I made recently on the boards to see the methodology we used to identify the issues that need to be addressed to achieve the goal of making CiviCRM accessible to the blind. 

There are a few overarching areas that challenge the accessibility of CiviCRM. These are outlined here along...

Read more
15 December, 2010
Filed under v3.3, Interface and design

I figured you'd be as worked up about this as I have been - but rest easy friend-o, 'cause we've got some good medicine coming your way.

 

I've been struggling with the lack of right-click support for the context menus as of 3.2. There's been a fair amount of complaint about it (from what I gather) and the context menu solution that was in place was sub-optimal for a variety of reasons, the greatest being that it didn't allow the user to right-click an action to open it in a new window (a very common behavior if you use CIviCRM on a regular basis). So I did some research and came up with a solution that I think is a significant improvement over the current solution, but it *is* fairly different, and I wanted to address the differences ahead of time so that we can make changes (if necessary) before the release. I shall portray it to you in three acts:

 

First, the improvement:

 ...

Read more
01 October, 2010
By xavier

Hi all,

 

For the training in london, we wanted a simple example that illustrates how to customise and improve civicrm for specific usages using the ajax interface. I'm sharing the result with you, hoping you will find it useful.

One common workflow we have is to change the status of an activity from "scheduled" to "complete". The default way is to click on edit, go to the full form, change the status, save, and go back to the list of activities

We are going to improve it with a "one click click complete": on the list of activities, we transform the status column into an action (when "scheduled"), and when I click on it, it changes it to Completed, without changing screen. For that, we are using the ajax interface and the activity api....

Read more
11 June, 2010
By xavier
Relationship are a natural way of storing relations between contacts. However, it doesn't work so well if you have several hundreds of related contacts as the realationship tab becomes unreadable quite quickly. One of our client needed to associate each individual in their base to a local branch (we implemented a nice geo lookup based on the postal code to identify the local branch, but that's another story). It means that each local branch has 1000th of individuals. This could happen in other situations, for instance to keep a relationship between a "main teacher" and each pupil or who is the latest volunteer that contacted each person in a GOTV/ Canvassing campaign... We choose to store that relation as a custom field of the type "contact reference". Each individual has a new field "nearest local branch", that is a reference to an organisation (the local branch). It works fine and you have a nice autocomplete field, like the search field in the top left corner in the... Read more