April 17th, 2008

Posted in
php,
snippets,
vtiger
After plowing through tons of code from both vTiger and ADOdb and pushing Google search to the max, I finally found a forum topic on vtiger.com covering the problem we were having with vTiger. The problem was that the popup to select an account or a product had load times averaging 60seconds. That’s a huge usability issue (read: waste of time) when you are creating invoices or filling out your calendar.
Anyway, all the more reason to place it on my blog, with the all right keywords!
And now, for the solution:
Quoting onwealdandy
However, I fixed the performance issue with a work around that doesn’t make much sense, but worked. I read this forum post a few days ago, but couldn’t see how commenting out debug print lines would speed things up. But, that did the trick. However, I did narrow it down to the exact variable causing the ruckus ($list_result) , so I only had to comment out just a few lines in ListViewUtils.php. (any debug log lines with $list_result)
Even with logging set to FATAL, the slowness would occur. When you did set logging to DEBUG, one instance would show the correct information in the debug log for the debug log lines .. basically what you would expect when printing $list_result (which is a recordset object) .. the object id … “Object id #40″ … however on the slow machine it would actually print the 2000+ records which were returned by the query.
There must be a bug in php or apache or mysql ( no idea) that returns the entire result set to $list_result when its evaluated for printing. My guess is that the libmysql.dll must have a default _tostring method in there in some versions. BE CAREFUL .. since there its not documented which versions do this … for the record, my troubled instance was running php5.2.5, apache 2.2.6, and mysql 5.0.45
You can find the original vTiger topic here: http://forums.vtiger.com/viewtopic.php?p=64335
Share This
February 13th, 2008

Posted in
php,
random
I was very pleased to receive an e-mail from hostgator today, in which they stated that they will be upgrading all servers to have MySQL 5 and PHP 5 installed by default! I hope this will send out a message to the other hosting firms, which would finally allow us to start using PHP5 in all our opensource projects.

Read the rest of this entry »
Share This
February 11th, 2008

Posted in
php,
snippets
Since HostGator does not support changing the value of always_populate_raw_post_data in PHP to “1″, I had to find a work around. After spending an hour Googling my issue and it turning zero-dot-zero results I was forced into being creative.
Appearantly you can use the input wrappers to go around this setting. Perhaps you could find this useful in the future
<php
if(!$HTTP_RAW_POST_DATA){
$HTTP_RAW_POST_DATA = file_get_contents(’php://input’);
if(empty($HTTP_RAW_POST_DATA))
{
// die here
}
}
Share This
September 17th, 2007

Posted in
php,
vtiger
In my previous post I listed everything that sucks about vTiger. This time I’ll point what makes it a great CRM.
- It’s fully opensource! You’ll be able to modify it as much as you want and there’s a bunch of plugins -made by the vTiger community- ready for download!
- Outlook integration. I admit it’s not perfect but the source code of this plugin is available on sourceforge
- Adding a field to a form is -almost- easy as 1 2 3! You can easily add custom fields thorugh the administration panel.
- You don’t have to start writing a CRM from scratch. Everything you need is in there!
- Very user-friendly interface
And that’s all I could find… I just had a quick look at the other Opensource CRM’ options there are and vTiger will be the best option out there if you want to be able to modify your CRM’s functionality and want all the basic functions already incorporated.
Share This
September 17th, 2007

Posted in
php,
vtiger
Inspired by Peter Goodman’s 12 Things You Should Dislike About PHP and15 Cool Things About PHP That Most People Overlook I’ve created a list of reason that make me dislike vTiger .
- Total lack of coding documentation. External and in-line! vTiger is a very complicated system and finding out how a simple module works can be quite a challenge.
- The coding standard comes close to “Just throw it in and pray noone will ever need to edit it”.
- User privileges are stored in a file. Can anyone tell me why?
- The main and sub tabs are defined in the database as well as in 2 files… and also the language files. which makes it tricky to add a tab.
- Too many duplicate SQL queries.
- Mixing of PHP & HTML. The vTiger team did their best separating PHP & HTML by using Smarty but they didn’t always feel like it. Examples given: The login page & the footer containing version information & copyright.
- Something goes wrong and the system will still smile at you and tell you everything has worked a-OK. For example, you try to import invoices and it crashes somewhere because of an SQL error, it will still tell you everything has been imported. Same story when using the CRMentity class to insert data.
- When I wrote my import invoices script, I checked the database for the correct date format… YYYY-MM-DD . It would be logical to pass the same date format to the CRMentity class? Right? WRONG! vTiger flips the date around and makes it DD-MM-YYYY . Resulting in having to provide the date in DD-MM-YYYY format so it’ll convert to YYYY-MM-DD. I’m guessing this is an old quick-and-dirty fix?
- (not really a vTiger issue) Lack of (good) themes. I can only hope someone will start creating vTiger themes in the near future. Should you be looking for a nice theme, I’d recommend “Softed theme“.
- All of the list views’ (eg: account list) data is fetched using AJAX. This results in not being able to use your back button, impossible to bookmark your current view and takes a long time to load.
- Overall, it doesn’t perform when handling a lot of data. E.g.: It takes a hell-a long time to load the calendar if you’re an admin and everyone has synced their calendar.
- vTiger has several quickfixes and most of them break other functionality, I quote: “modified by Richie as raju’s implementation broke the feature for addition of webmail to vtiger_crmentity.need to be more careful in future while integrating code“. Well Richie, thanks for fixing that but you broke something else!
Share This