A new version of the Force.com IDE plugin is available for download on the developer.force.com website: http://wiki.developerforce.com/page/Force.com_IDE_Installation

We have repaired a bug around a new metadata type – InstalledPackages. Some of you were unable to save anything if you had done some mods to the package.xml file, and some of you were having trouble with normal deployments due to some unique aspects of this new metadata type. (Please see the end of the post for some additional details.) These troubles should be fixed. If you are experiencing troubles, please grab the latest version of the plugin.

Latest?

I am sure there is a punch-line kicking around your head here, something to do with “latest version” and the force.com IDE plugin. I will acknowledge that it’s sub-optimal that our plugin is only supported on Eclipse v3.6, which I am told is not the latest version of Eclipse. (*checks wikipedia*) I will also acknowledge that it is bad that we do not support Java 7, since many of you have moved there, by choice or by force.

We will be updating the plugin to work with the latest versions of Eclipse and Java shortly after the Winter ’14 release.

I’m going to repeat that, because it’s probably going to make you happy the second time, too.

We will be updating the plugin to work with the latest versions of Eclipse and Java shortly after the Winter ’14 release.

The new plugin will work with Eclipse 4.2 & 4.3.  We will continue to support Java 6, so there’s no requirement to upgrade to Java 7.

Sleeping Dogs

There’s that old adage about letting sleeping dogs lay…what they neglect to tell you is that if you let a dog sleep too long, he gets VERY hungry, and then you REALLY don’t want to wake him, so you let him sleep some more, and he gets hungrier yet and…yes, you get the picture. Eventually, you have to wake the dog up, and it’s not pretty. Barking and growling and mess.

There came a point at which the effort to fix what ailed the current plugin (from a new-Eclipse-version perspective) was equal to or larger than the effort to rebuild chunks of it. Thus the decision was made to rebuild much of the plugin using the Tooling API rather than patch the old version. That is why we have allowed this to slumber – we have been finishing up the Tooling API to prepare for the more complete refactoring which is now in flight.

I, for one, have not lost sight of the fact that upgrading the plugin to modernity is probably the thing that will make the most developers’ lives easier. With that in mind, this was chosen as the first enhancement that you will see in the coming months around the Eclipse plug-in.

But Wait – There’s More!

There are many things we plan to change / add to the plugin over the coming months.  Here’s a sneak peek at what we plan to deliver (safe harbor thought bubble appears above my avatar’s head):

Dynamic Metadata API: No more need to upgrade the plugin every release to get the latest metadata API. Latest and greatest available at all times.

oAuth: No more need to reset a security token and update projects with new credentials. oAuth authentication will keep your plugin authenticated to an instance until you tell it you don’t want to be authenticated anymore. Especially useful for those of you with admins requiring monthly password resets.

Code Completion: The Tooling API provides symbol tables for an org, which will be used to offer code completion. Developer Console offers this today; rebuilding with the Tooling API will allow the plugin to offer it too.

Better Save Process: The Tooling API provides a mechanism for saving code artifacts more directly than the metadata API, providing a much less unwieldy experience.

Plugin-only: The current approach of offering a bundled exe to install both Eclipse and the Force.com IDE plugin. We’ll be all plugin, all the time.

Now, Your Turn…

These are probably not the only things you’d like to see us add to the Eclipse plugin.  They’re not the only things WE would like to see us add to the plugin! We will continue to improve the plugin in parallel with the Developer Console over the coming years.  However, I know that someone out there is going to want some features or fixes faster than we plan to (or are able to) deliver them.

To that end, we intend to release the source code for the Force.com Eclipse IDE Plugin to you.

Details of the open source process will be a discussion for another time. For now, suffice to say that there will be a Salesforce-supported main branch surrounded by any number of community-supported branches. Some features and improvements will be pulled in to the main supported branch, but even for things never adopted into main, nothing will stop you from installing – or building! – a community-supported feature branch.

All of the items I listed in the previous section will probably be completed prior to the open-source conversion. Current plan is to see the open-source conversion take place in the first half of next year. (There are operational hurdles as well as technical work to do, so again please see safe harbor thought bubble.)

Notes on the Current Patch Release

As mentioned at the top, there is a new patch available now if you’ve been having issues with the most recent release. If you’re in that boat, here are a couple of facts that may prove handy:

  • After upgrading the Force.com IDE to the latest patch (28.0.1), you might need to recreate your Force.com projects in the IDE. This is true if you have already created an existing project with the original Summer ’13 version (28.0.0).
  • We are not providing official support of the InstalledPackage metadata type in this version of the IDE. The new InstalledPackage metadata type has a new requirement that it has to be deployed by itself and not in conjunction with any other metadata types. See http://www.salesforce.com/us/developer/docs/api_meta/Content/meta_installedpackage.htm

Happy Coding!

Get the latest Salesforce Developer blog posts and podcast episodes via Slack or RSS.

Add to Slack Subscribe to RSS