Blog posts by xavier

Keep up-to-date with blogs from the core team, working groups, developers, users and champions worldwide. Subscribe to our newsletter to receive regular updates by email. We also have an RSS feed.
July 31, 2011
By xavier Filed under CiviCampaign, CiviContribute, CiviEvent, Case studies and user stories, CiviCRM

Hi,

We conducted a research to see how often someone tweeted about a page powered by CiviCRM in the past month and a half. We analysed 858 tweets by 612 users about 163 sites, some big names like oxfam or the red cross, some for tiny organisations.

Read more
July 12, 2011
By xavierFiled under

Hi,

 

We are having a discussion on the API group about the current limitations of the framework used in civicrm for the ORM and DB layer (pear DB_DataObject and DB... ).

If you are not familiar with the BAO/DAO structure, you might want to read this blog  post (written in 2006) first.

Beside a general dislike of the existing framework that show its age, we have identified several issues:

Read more
May 13, 2011
By xavier Filed under API, Architecture

Hi,

Some improvements on permissions and the API are landing on 3.4.2 and 4.0.2.

On the previous versions, the permissions where not enforced (on php and smarty) and checked on the same permission "access civicrm" for the rest and ajax no matter the operation and entity.

 

Read more
April 15, 2011
By xavier Filed under API, CiviCRM

Have you ever clicked a few zillion time on the admin interface to create a lot of groups, tags, values for a custom field... ?

Have you ever screamed having to do the same tedious tasks you did on the staging one more time on the production site?

Have you cursed the import wizard after having clicked again and again on the next button ?

Read more
April 2, 2011
By xavier Filed under CiviEvent, CiviCRM

Hi all,

 

Was reading lobo's latest blog and I'm almost sure that with these improvments we can have an event smoother event registration. The workflow would be:

 

1) You create the event

So far so good, same as before

 

Read more
February 16, 2011
By xavier Filed under API, Architecture

This new API is the recommended method to Create, Get, Delete or Update any CiviCRM data from your code or an external system. It is much more coherent and easier to use than the api v2.

 

Read more
January 23, 2011
By xavier Filed under Drupal, Training

We’re preparing a CiviCRM developer camp in Brussels on February 3rd and 4th – right before FOSDEM 2011 and Drupal Days. Developer Camps are a place where CiviCRM developers, administrators and users can get together around CiviCRM.

 

Read more
December 2, 2010
By xavier Filed under CiviEvent, Case studies and user stories

The PES -who sponsored the development of the badge feature- used civievent for the first time at a big scale: their council in warsow. You might see some bits of it in the news, like the greek prime minister that just finished his speech, but only on this blog will you know more about part of the logistic of such a big event, and how civicrm helped it. We put in place 3 different registrations, one for the journalist, one for the representatives and guests of the national parties and the last one for the activists.

Read more
October 1, 2010
By xavier Filed under Architecture, Interface and design, Training

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. Copy the template templates/CRM/Activity/Selector/Activity.tpl into your override directory, and add a few lines of jQuery at the top:

{literal} <script> jQuery(function ($){ $("td.crm-activity-status_1") .attr("title","Change the status to completed") .css("cursor","pointer") .click (function () { aid=$(this).parent("tr").attr('id'); var activity_id = aid.replace("crm-activity_", ""); cj().crmAPI ('activity','update',{id:activity_id,status_id:2}, {callBack: function(result,settings){ if (result.is_error == 1) { $(settings.msgbox) .addClass('msgnok') .html(result.error_message); return false; } else { $('#crm-activity_'+activity_id) .removeClass('status-overdue') .find('td.crm-activity-status_1') .removeClass('crm-activity-status_1') .addClass('crm-activity-status_2') .html("Completed"); } } }); }); }); </script> {/literal} Oh, it's magic! What does it do in detail ? Well, you should attend a developer training, you will discover it, and way more ;) X+
Read more
August 14, 2010
By xavier Filed under CiviCRM
Hi all, We probably all have the same problem: the same contact is present several times in our CRM.
Read more