Monday, February 18, 2013

Speed up development

Originally posted on my old blog site August 31, 2011

To develop Salesforce customizations I use the point and click interface as well as the Force IDE (Eclipse).  In the past I would have two projects: Test and Production. Both projects contained everything in the instance and I would use a source control tool (Git, Mercurial, etc) to manage changes.   The source control tool provides a convenient way to track changes in the instance and provides a means to roll back changes in the event of a disaster.

I’m sure others might have a similar setup. Today I learned that these large projects are slowing down my development! After any change in the project the process to save the change to the server would take ages to complete.  This is a "feature" of working in the cloud. Every change needs to be sent to the server and the update triggers a rebuild and many tests to run.  All that slows down development.

The trick is to create smaller projects. Simple.

So, for example, suppose you are working on a couple of VisualForce pages and their supporting classes. Create a new project with just these objects and your changes are saved to the server really fast.

One qualification!  The "fast" I am talking about is only fast in relation to saving to the whole project.  All development in the cloud is slow compared to building an application on a stand-alone system.  And development on the Salesforce Production instance is always much slower than working on a sandbox instance.  That is life as a SF app developer.   It is also a big cost adder to anyone that hires a SF cloud developer.

A further qualification!   It has been several months since I've tried to post a change to our Production instance via the Force IDE.  But now every change takes almost an hour, consumes all of my machine's CPU, and is consuming huge amounts of RAM.    I found this post that suggests something changed recently at Salesforce's end.

I'll keep you posted on what I find here.

Solution:  Need to update the Force IDE to the latest version.   In a perfect world, this ought to have been mentioned in the SF release notes.

Next day update: problem not resolved.  The update to v26 seemed to improve things but I was mistaken.   A call to support came up with two things.  First it appears that all the tests are running on the server (no idea why that would cause excessive CPU usage and memory usage).  Second, instead of "Save to Server" it was suggested I "Deploy to Server".   What the difference is I'm not sure. But to deploy requires a lot more mouse clicks and your password and token.  This seems to help, a little.  But updates still can take 10-15 minutes to get posted.


No comments:

Post a Comment