Blog posts by lobo

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.
August 21, 2009
By lobo Filed under Drupal, Schools
I continue my work on deploying CiviCRM for my kids school. In previous blog posts i documented how to use hooks and custom templates to schedule parent teacher conferences and extended care activities and how to expose relationship information in a profile view. In this blog post I'll describe some more advanced features. I'll also describe the code and directory structure. New Code Structure and Directory Layout
Read more
August 13, 2009
By lobo Filed under Drupal, Schools

I've been working on customizing CiviCRM for my kids school. I documented how i exposed relationship information on a profile view in this blog post. In the past week i've also exposed "activities" and "a multiple record custom group" via profiles which i'll describe in this blog post. All this work was done via civicrm hooks and custom templates and run on CiviCRM v2.2.8.

Read more
Juli 29, 2009
By lobo Filed under Architecture, Schools
I'm working on deploying CiviCRM for my kids school website. Part of the project requires us to expose the parent <-> child relationship information on the website and allow parents to edit their child information. I accomplished this using a combination of civicrm hooks, custom templates, permissioned relationships and custom code in a drupal module. You can access the module and template code here. The broad steps are: Implement hook_civicrm_pageRun for the profile view page (CRM_Profile_Page_Dynamic). Only implement this hook for the specific profile id's you want relationship information. In this case we have two profiles, a Parent Profile (gid=3) and a Student Profile (gid=4) The pageRun hook also adds the module's template directory to the smarty include path, so we dont have to set it globally. This also allow multiple modules to append different template directories to the template include path (check the function _sfschool_initialize) The hook gets either the parent or the child information using a custom query. We ensure that only permissioned parents can see their child information (in case of some complicated family structures). The queries are relatively simple at this stage, i suspect they will increase in complexity over the next few weeks The hook exposes the information gathered from the database to the smarty template The custom template (templates/CRM/Profile/Page/3/Dynamic.tpl) uses that information to display the relationship data on the page. I also edited the View.tpl template to eliminate the "Back to Listings" link.
Read more
Juni 29, 2009
By lobo Filed under CiviCRM, Drupal, Meetups, Training
Last week Kurund, Michael, Mari, Xavier and I spent 2 days in the UK training camp and 1 day at the user camp. We had a great turnout at both camps with a 18 participants in the training camp and 8 participants in the user camp. Training Camp The training camp was held over two days. Similar to our other camps this was also in an unconference format. The topics were decided by the participants and we split the day up into 5 sessions on both the days. Some takeaways from the user meetup: The UK NGO's rely more on government funding than on donations. Reporting and managing gift aid is important. We sketched out an implementation and a custom report for this on the wiki. More code on this coming soon Folks were quite excited about CiviReport and the reporting framework. Quite a few discussions on effectively supporting multi-org installations (n drupal installs, 1 shared civicrm db) A good discussion on how to make CiviCRM get around the "not built for UK (insert your favorite country here)" discussion. At some point in the future we should set better defaults given the installation country rather than only one set of defaults worldwide. How to extend and modify CiviCRM via hooks was a popular topic. We definitely need to post more examples and add even more support for this in future versions.
Read more
Juni 19, 2009
By lobo Filed under CiviCRM
Support desk blog: How to collect organization / household information via drupal's "My Account" This blog post is courtesy of IRC user (huf, Mihaly Berenyi). The question is how do you get a permisioned user to edit organization information from the Drupal My Account Page. The answer surprising is quite simple :) Create an organization profile and check "My Account" in the used for settings Ensure that the user's relationship with the organization is permissioned, i.e. the user has the permission box checked to edit the organization Apply the patch at the end of this post
Read more
Juni 18, 2009
By lobo Filed under CiviCRM, Drupal, Joomla

I have two kids who started school late last year in San Francisco. I've been getting more involved with the school and their education and have been noticing the lack of open source software in most of the school operations. In the great open source tradition of scratching your own itch, this summer i'm looking at building a few modules. These seem applicable to a lot of schools and figured it might make more sense to do some research into whats available out there.

Read more
Juni 14, 2009
By lobo Filed under CiviCRM, Drupal
Over the past few releases we've been drinking a fair amount of the hook kool-aid. This has proven to be super effective and gets around the problem of hacking the core files, but still allow a developer to extend the functionality of the system in minor/major ways. We've used hooks also to implement event discounts and contribution/event tracking. This week on IRC we had a few more questions which were effectively solved using hooks. How do you delete a contact when a drupal user is deleted Tom (http://www.kirkdesigns.co.uk/) wanted to delete the civicrm contact if the drupal user was deleted. The solution was to implement hook_user that gets called before civicrm's hook_user (you can do this by ensuring that your module has a lower weight than civicrm.module). Use the api call civicrm_uf_id_get to get the contact id for a given drupal user id. This is followed by an api call to civicrm_contact_delete to delete the contact.
Read more
Juni 9, 2009
By lobo Filed under CiviCRM, Drupal, Joomla

On Thursday, June 4 2009 we had a CiviCRM meetup in NY. We set up this event via CiviEvent a couple of weeks prior to the event. Cynthia T managed to get us a room at the American Friends Service Committee building near Union Square. We filled up the 28 open slots for the event fairly quickly. We had a pretty good mixture of people. From experienced users to a folks who were just getting started with CiviCRM and wanted to learn more.

Read more
Juni 8, 2009
By lobo Filed under CiviCRM, Drupal, Joomla

On a daily basis, we get quite a few interesting bugs / feature requests either via the IRC Channel or via the forums.

Read more
Juni 2, 2009
By lobo Filed under CiviCRM, Drupal, Joomla

We are looking for folks who can help us out at the following events. Both these events are in the San Francisco Bay Area

Read more