CiviCRM

CiviReport - First Impressions of BIRT

Published
2006-11-25 09:34
Written by

I did a fair amount of research on the web regarding the state of various open source reporting packages. BIRT received quite a few excellent reviews and they also have an upcoming integration with the Zend platform/framework that I had to give it another go.

So back to the drawing board, and did an install of Eclipse and the automated install / update of BIRT. I suspected there was an issue with the latest version of BIRT (2.1.1) and decided to install the older version (2.1.0). This proved to be a smart move and I was up and running with BIRT. Their website is quite nice and has lots of detailed informtion (which did not really help me in my first installation attempt). I started off with the Basic Tutorial, though i modified it to use the CiviCRM database and decided to create a Phone Book for the sample data. The User Interface for creating reports in BIRT is significantly more sophisticated, cleaner and simpler than the equivalent one in iReport. It probably took me less than an hour to create a group listing by state of all my individual contacts in the database. Not bad for a reporting tool :).

CiviReport and the state of open source reporting packages

Published
2006-11-22 22:51
Written by

This week i've spent a fair amount of time trying to figure out what we could potentially do to make reporting part of CiviCRM. A few joomla folks on the list have successfully used a Joomla component DBQ and were fairly happy with it. I did read a fair amount of it and took the next step of actually installing and playing around with it.

DBQ is quite nice, easy to install and works as expected. However, as Dan Robinson pointed out on the email list, it is not a reporting tool, but more a simpler way to execute queries and format them in some manner. A lot of "reporting" functionality is missing (in all fairness to DBQ, it does not claim to be a reporting tool either).

Using Selenium Testing Tool in CiviCRM v1.6

Published
2006-11-20 03:28
Written by

We have integrated Selenium Testing Tool for CiviCRM v1.6, in addition to existing UnitTests for checking api functionality.
Selenium automated tests allows user to test most of the civicrm functionality.

For more details check the documentation

CiviCRM 1.5 works with Drupal 5.0 with some very minor adjustments...

Published
2006-11-18 22:24
Written by

I installed CiviCRM 1.5 with Drupal 5.0 following the same steps I took installing it with Drupal 4.7 and got no errors.

CiviCRM wouldn't show up in the modules list in the admin section, so I poked around a bit to see what the overall setup was of the Drupal 5.0 modules.

I moved the civicrm.css file into the main civicrm folder, moved the civicrm.module file into the main civicrm folder and then created a civicrm.info file and follwed the same format as the other .info files (a couple of lines of code describing the module) to write to the civicrm.info file. I copied the civicrm.settings.php file to drupal/sites/default folder and went back to the Drupal 5.0 admin area and lo and behold, CiviCRM 1.5 was there. I enabled it and it worked.

Full-text Search for CiviCRM: Initial Thoughts ...

Published
2006-11-17 12:47
Written by

It is important for CiviCRM to have a full fledged un-structured search engine in addition to the current structured query. I don't think MySQL full text searching (MFTS) is a good model for a couple of reasons. Firstly MFTS is restricted to myisam tables and CiviCRM uses innodb tables. Secondly MFTS is still a table level search and i don't think it can handle hierarchical data. CiviCRM contacts are hierarchical data sets.

Would be great to integrate something like Lucene into CiviCRM. A potential work flow could be as follows:

1. Publish an xml specification of the CiviCRM data model. We have done a fair amount of this work for the Branner project. We could extend and automate this quite nicely using our code generator. Also xml fits quite nicely since we can represent hierarchical data

Announcing CiviCRM v1.6 Alpha ...

Published
2006-11-17 09:39
Written by

We are happy to announce that our 1.6 Alpha release is now available for preview and testing on our servers. We'd like to get as many folks trying out the new features as possible over the next week. This will help us move quickly to a downloadable Beta release - which is currently scheduled for November 29.

You can login to the sandbox at:

http://sandbox.trunk.civicrm.org

User - demo
Password - demo

Highlights of the release - and things we especially like folks to try out are:
* Ajax-based suggestive search in the Contact Search box (left column)
* Dynamically loaded sections in Advanced Search and Contact View Screens

Users, Organizations and Contributions in 1.6

Published
2006-11-15 12:16
Written by

There's been a lively discussion on the mailing list about requirements for linking CMS (Drupal / Joomla) Users to CiviCRM contacts and handling contributions from both types of contacts. We recognize that there is still work needed to handle the variety of use cases out there - but we've made decent progress in the upcoming 1.6 release:

  • CMS (Drupal / Joomla) users can be "linked" to either an Individual contact (default behavior) OR and Organization contact.
  • Sites will be able to provide a separate user registration link which will expose Organization profile(s) and create a user record, a new contact Organization record - and "link" them.

CiviCRM Architecture - CiviCRM Forms and Wizards

Published
2006-11-14 06:54
Written by

CiviCRM Forms and Wizards (multi-page forms) are based on PEAR's HTML_QuickForm_Controller. (QFC). QFC in turn is based on HTML_QuickForm (QF). It was easier for us to model a single form as a one page wizard, and hence all CiviCRM forms are instances of QFC

The basic Form object is CRM_Core_Form. All forms are derived from this class. Each derived class is expected to implement the following functions

  • function preProcess( ): This function is called before a form is built. All objects needed to build the form should be built in this function.
  • function buildQuickForm( ): This function builds the form. There are some helper functions in CRM_Core_Form to build some elements (Radio, Select, Yes/No etc). Classes typically call a mixture of these helper functions and QF functions directly

CiviCRM Architecture - PHP Class Structure

Published
2006-11-11 04:30
Written by

We now move onto the more interesting stuff of what really happens when a request is made and the objects that are responsible for building the response. The top level CiviCRM objects are:

  • Form (CRM_Core_Form): CiviCRM forms are based on HTML_QuickForm. For drupal folks, this is more of an object representation of the much loved form api
  • Wizard (CRM_Core_Controller): A set of CiviCRM Forms that collectively make up an action (Import Wizard, Mailing Wizard etc). For simplicty sake a one page Form is represented as a Wizard (CRM_Core_Controller_Simple)