Multiple custom footers on SugarCRM view and metadata

I recently built a customisation for SugarCRM that required a custom footer on the metadata definition file.
This was a requirement, so that the final user was not able to edit the panel from Studio, and potentially damage the javascript intensive customisation.

To build the customisation as upgrade safe as possible, I created a custom view for the module I was customising, and inside the “display()” method, I set my own custom footer in the following way:

$this->ev->defs['templateMeta']['form']['footerTpl'] = 'custom/modules/Opportunities/mycustomfooter.tpl';

Then I coded all my business logic inside the display method and at the end, I called the “parent::display()” method.

Read more

iCalendar / vCalendar meeting invitation

Probably everybody is familiar with the calendar event invite features?

If you use Microsoft Windows (with Outlook) or Mac OSX (with iCal) or just a basic browser with a GMail account and you use the calendar functionality, you would have realized, that every time you get invited or invite someone to an event, you get a basic email, that adds the recipient to the calendar event.

I had to write an invitation tool that was cross compatible between different platforms and integrated with SugarCRM for a customer of InsightfulCRM (Australian SugarCRM Gold Partner) where I work.

Read more

Integration between SugarCRM and Perl using SOAP

I’ve been developing SugarCRM solutions for a while now at InsightfulCRM (Fonality Pty Ltd) and I never really got into interacting through SOAP with languages other than PHP until today.

SugarCRM

There are some tutorials and documentation on SugarCRM Wiki website about it, but not really for Perl, that is the programming language I’ve chosen today.

I’m not a “rockstar” with Perl but let’s figure this out :)

First of all why Perl?
The main reason is: you get Perl with your Linux box, without mucking around too much, in any Linux distribution and doesn’t really need too much software around it. It is multi platform and it has his own package manager (CPAN) to install other components.
This is all that’s needed to get started!

Read more