It was a pretty productive thanksgiving weekend :) Learnt way more about reporting, how complex an issue it is and the number of companies that are built on reporting (or to use a more trendy phrase, Business Intelligence). So here are some conclusions:
- PHP does not have a decent open (or closed) source reporting tool.
- Reporting is too complex an application and fairly well addressed by other open source projects. We should use one of those applications rather than doing it ourselves
- All the reporting open source projects use Java / Tomcat. CiviCRM users will need both java and php tools if we adopt this route
We've posted a draft specification for CiviEvent (phase 1) on the wiki. We are actively soliciting community feedback prior to finalizing the specifications on or around December 7. If you are interested in an integrated Event Management component for CiviCRM - please review the spec carefully and post your feedback and questions as comments on the wiki. We are targeting this for the 1.7 release.
This specification reflects feedback and suggestions from many folks in the CiviCRM and Drupal communities. We'd like to especially thank and acknowledge Jeff Porter of The Foundation for Prader-Willi Research, and Dan Robinson of CivicActions for their extensive contributions.
- The quick "Contact Search" block in the left column uses a suggestive search widget which finds contacts as you type in letters. Try typing in "ada" and see what happens.
- Site Administrators no longer have to struggle with editing civicrm.settings.php to set and modify site configuration. Most settings are now controlled from the Admin Control Panel » Global Settings section.
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 :).
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).
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
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.
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
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:
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
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.