Developer Blog

Online PHP and MySQL Course

08 Apr, 2008
Posted by: susiewilliams

Ok, so I know it’s a bit last-minute, but for those of you who are looking to sharpen your PHP and MySQL skills, there is an online community college course starting this week. It’s taught by Foothill College, one of the local colleges in the Silicon Valley area.

The class is CIS 52N and it’s completely online so you don’t need to be local to take the course, though you will be charged more if you live “out of state” (outside California). You can register for this (or any other) spring quarter course through April 18th.

For more information, or to register for this course, go to Foothill College’s website. Foothill runs classes year around so check out their website (or your own community college) for interesting classes.

Post a comment

Building Communities

04 Apr, 2008
Posted by: clintoram

I am here today at the Dutch JoomlaDays conference in Utrecht, Netherlands talking Joomla developers about SugarCRM. Great conference with over 200 developers at the event. Kudos to Henk and team for putting on a great show.

I’m listening right now to James Vasile from the Software Freedom talk about building a community and a successful open source project. As an open source lawyer, you would expect him to focus on the open source license as the center of building a community.

Instead his his three building blocks of building a community are:

  • Freedom - create community rules that give people the freedom to build, extend and share. While few people typically read an open source license, it is this contract that ensures the freedom.
  • Sharing - build an environment where sharing is cool.
  • Ecosystem - Focus on growing and invigorating the ecosystem around the software.

I certainly agree with all his points. A couple things I would add are 1) build GREAT software and 2) communicate, communicate, communicate. You only attract people to your community if you build something attractive.  People will only stay if they are working within a community and not yelling into an empty room.

Post a comment

Great Sugar Wiki article on building dynamic dropdowns

03 Apr, 2008
Posted by: clintoram

DragonflyMaster, one of our top posters in the Sugar Forums the past several months, has just created a great Wiki article on Building Dynamic Dropdowns. Also called dependent dropdowns, this feature allows you to link two dropdowns together such that the values in the second dropdown are based on the values in the first dropdown.

Great feature!

Post a comment

Take the Sugar Developer Survey

31 Mar, 2008
Posted by: clintoram

We have just posted a Developer Survey for the Sugar Community and are asking all SugarCRM developers to give us your feedback. Please take a few minutes to fill out the survey and let us know what tools and resources you would like us to work on next for you.

Post a comment

It’s always hard. Notes from my SDUG Tuning Sugar Databases talk

19 Mar, 2008
Posted by: Travis Swicegood

Man, giving a talk remote is always hard.  Is my mic too soft?  Can they hear me?  Did some poor guy with a hearing aid just have it blown out ’cause I had my mic too loud?  Am I pacing ok?  What about handling questions?

Well, thanks to the expert help of Susie and Clint, I didn’t have to worry about any of this while giving my talk on Tuning Sugar Databases to SDUG.  Everything functioned smoothly and the only thing I had to worry about was pacing myself, which seemed to work out good. Hopefully those who attended picked up a few new tricks.  For those who didn’t get to attend live, we’ll have a recording of the webinar online soon.  I’ll update when we do.

I promised some links during the presentation, so here you go.  Our wiki is online @ http://www.sugarcrm.com/wiki/.  There’s excellent info throughout the wiki, but the settings I touched on specifically are all outlined in Performance Tweaks for Large Systems, except one.  Someone mentioned that there was no reference to $calculate_response_time on the wiki, that is correct and will be fixed.  In meantime, here’s a quick intro to it. Adding the following line to your config.php:

"calculate_response_time" = true,

Will get you output like:

Screenshot of status info

The other links I mentioned where, in no particular order:

Also, for anyone who’s interested, the MySQL AB tool for automating many of the processes I outlined is MySQL Enterprise. If you’re short on people or expertise, outsourcing your DBA duties to the company that created MySQL is a great option.

Hope that helps get you started on tuning your SugarCRM installs on MySQL.  If you have any questions that we didn’t get covered in the presentation or Q & A, post them here and we’ll get you answers.

Post a comment

Next SDUG Webinar - Database Tuning Tips on March 19th

17 Mar, 2008
Posted by: clintoram

The next Sugar Developer User Group webinar will be held on Wednesday, March 19th, 2008 at 10AM Pacific Time.

Join Sugar database expert Travis Swicegood as he discusses database tuning tips and tricks for Sugar.

For more information, or to register for this free event, please visit this link.

Post a comment

Altruism, maybe. Bringing home the bacon, definitely!

06 Mar, 2008
Posted by: clintoram

My good friend and cohort in CRM blogging, Martin Schneider, posted a review yesterday about a recent article from Psychology Today that analyzes why developers participate in open source communities. While I agree with Martin’s thoughts, I think the motivations go a bit deeper…right into the wallet.

First, let’s take the “street cred” idea a bit further. What I’ve seen in the Sugar community is that independent consultants and system integration firms can turn “street cred” into “business cred” or marketability and make some money. Simply put, companies hire you for projects if you are a credible Sugar community member. Also, IT developers NEED to have open source experience on their resumes these days to get the best jobs. Hiring somebody who actually contributes code to an open source project gives companies real competitive advantage for their business.

So being a prominent member of the Sugar community turns into actual dollars (Euros, kroners, Linden dollars, whatever). That’s a VERY powerful concept that is glossed over with the ticky tacky term “street cred”.

Now let’s take the “self-actualization” idea. Yeah, coders code because they like to code. Coding is cool. Believe it or not, one of my favorite ways of relaxing is to fix bugs in Sugar. Now call me wacko (my wife calls me other things), but Sugar is my baby and I want to see her not just sing, but friggen Rock the Cazbah (shout out to John’s current favorite band). So I certainly agree with the point on “self-actualization.”

However, the ability for a company, a project manager and/or a developer implementing SugarCRM to take control of their own destiny around the Sugar app is HUGE. I’ve project managed implementations of proprietary CRM systems in past lives. There’s nothing better at blowing up your project schedule than a showstopper bug or unexpected limitation in an API.

With open source, a company can fix the problem themselves if needed or extend an API to meet their needs. Now SugarCRM works very hard as a company to respond to all of our customer’s reported issues in a timely manner, but when your go-live date is looming ahead of you and your CEO demands no delays, there is nothing better than having the ability to fix any issues yourself and not be tied to the responsiveness of your vendor. And if you are an independent consultant or system integration firm, time = money.  Again, control is a very powerful aspect which drives developers to open source that goes way beyond “self-actualization” or even “altruism”. It drives sanity for the developer and bottom-line value for the business.

Personally, I think these two ideas of marketability and control should have been included in the Psychology Today as these are the motivations I hear about everyday from Sugar community members.  And marketability is about putting money in your wallet and control is about keeping money from flowing out of your wallet.

Post a comment

Third-party Performance and Load Benchmarks for SugarCRM

04 Mar, 2008
Posted by: clintoram

A couple recent performance benchmark reports have been written that use SugarCRM as the test app. Both reports are focused on benchmarking specific environments and only use SugarCRM as the test app, but they do give you a good idea of the scale possible with SugarCRM.

  • Scaling SugarCRM with MySQL on Sun’s Coolthreads server by Satish Vanga at Sun Microsystems. Focused on showing the scalability of SugarCRM on Sun hardware, this report shows the large scalability possible (700 concurrent users!) with SugarCRM and MySQL on the Sun Coolthreads server.

    From the report…
    Conclusion
    In our tests we found that the Sun’s Coolthreads server can scale to large number of concurrent users on a single server running both SugarCRM and MySQL. There is not much performance impact if the MySQL is run inside Solaris Containers vs running it in the global zone along with SugarCRM. At 700 concurrent user load we only saw 15% of the network bandwidth used and still left with enough cpu cycles. Sun’s Coolthreads server does scale well with the SAMP stack based applications more specifically SugarCRM and MySQL database.

  • Load Testing SugarCRM in a Virtual Machine done by http://www.webperformanceinc.com. Focused on showing the performance differences between running a web app in a virtual machine vs a dedicated physical server, this report doesn’t look to tune a system for maximum performance like the Sun article but rather to take a basic SugarCRM installation and compare the load and performance results on a VM vs a physical machine. Note that the user counts below are concurrent users and not named users.

    From the report…
    Conclusion
    Under the conditions tested, the reference application (SugarCRM) showed a 14% decrease in total user capacity when running in a virtual machine (decreasing from 35 users to 30). At the peak capacity of the virtual machine (30 users), the average page duration was 1.57 seconds, whereas the average page duration of the physical machine at the same load level was 0.97 seconds. Compared at that level, the average page duration for the virtual machine increased 61% over the same load on the physical machine.Since most applications only run occasionally at full capacity, it is worth also analyzing the performance of the system at a lower level of load. At 21 users (60% of the full capacity of the physical machine, 70% of virtualized capacity), the average page duration was 0.84 seconds for the physical machine and 1.00 seconds for the virtual machine - an increase of only 19%. For our reference application, this difference (0.16 seconds) is unlikely to be noticed by the average user.

Both reports have really useful information if you’re interested in the details of SugarCRM scalability and performance. It’s great to see SugarCRM becoming a default test app for these different scenarios. Enjoy!

Post a comment

Bending Sugar

29 Feb, 2008
Posted by: reembazzari

If you missed our first Dev-User Group session, please visit the tutorials section under customizations for more information. Sugar Lead Architect and Master Module Builder Majed Itani walks through dramatic upgrade-safe customizations. Here’s your chance to see how far Sugar’s flexible architecture can be taken.

Post a comment

What developer webcasts would you like next?

26 Feb, 2008
Posted by: clintoram

Hi all -

We are kicking off the 2008 online Sugar Dev-User Group sessions this week with a webcast on building upgrade-safe customizations hosted by Majed, one the lead developers. If you have an hour this Wednesday at 10am Pacific, I highly encourage you to sign up.

We would like to get your input on topics for future sessions. Here are a few suggestions to get the ideas going:

  1. MySQL performance tuning. How to get the most out of MySQL for a scalable SugarCRM installation.
  2. The new Sugar 5.0 MVC framework. How to make common code-level UI customizations in 5.0.
  3. Diving deep with Sugar Web Services. In-depth examples of using the Web Service API’s.

What else tickles your fancy?

Clint

Post a comment
Have feedback for us? Drop us a line.
Terms & Conditions | Privacy | Trademark Info | Contact Info | FAQs | SugarCRM Inc.© 2004 - 2008 All rights reserved.