Metaforce

 

Continuing with the Salesforce IDE’s is Metaforce.

Although an extension to the Chrome browser, once installed it sits apart and is difficult to tell that it is indeed a browser extension. What drew me to Metaforce originally was it’s ability to delete code from both sandbox and production, which it does better an easier than other products I’ve used. We had some awfully written code in our org produced by an external contractor and Metaforce was the only product that allowed me easily navigate the web of dependencies and permanently remove.

Metaforce also makes it very easy to switch between multiple orgs and deploy code and objects between orgs. It has saved me a great deal of time, I recommend you give it a try. It has become my new defacto IDE for Salesforce dev.

http://metaforce.org/

 

 

 

Cloud9 for Salesforce

 

Delightfully impressed with the Cloud9 for Salesforce IDE.

It’s a fully web-based IDE that, unlike a lot of web-based software it quick, responsive and powerful. It has pseudo intelisense / autofill behavior and saves it’s workspace automatically.

This makes it very easy to move from PC to PC while I work on Salesforce projects. I’ve been floating between my work PC, personal PC and my partner’s laptop flawlessly.

When I have a brainwave while watching TV I can just jump on the nearest PC and put the code down quickly, then move back onto other things.

If you’re doing any Salesforce dev and are interested in a new IDE then suggest you give it a look.

https://c9.io

 

Save

Save

DIY Salesforce Attachment Loader

Loader2

Problem…

I was recently tasked with uploading a large number of documents from our previous document management system (Stored as an SQL FileStream) into our new Salesforce org.

The Apex Dataloader should be able to do the trick. So I wrote a simple windows form app to export and save the files to a local file system with an accompanying metadata CSV. All good so far. After letting the program run overnight to export all our documents I began trying to use the Dataloader to import them into Salesforce.

And that’s where the problem’s began. The procedure was to go something like this.

  • Perform an upsert with the metadata CSV to create related custom object records.
  • Export the newly created objects with record Ids and document Id external keys.
  • Import the documents using the Ids above to attach them to the required records.

All went well until step 3 above….. “Java heap errors”. It appears I’m trying to do too much. I max out the memory allocation to the Java virtual machine used by the Dataloader and try again. Same again.

I trim out all but the first 50 records in my record set and try again. This time is appears to be working. Wait a few minutes and no errors, it looks like its going to upload. I walk away to get some coffee. Come back….more errors. Check the Salesforce org and no documents have been uploaded. Grumble…grumble. That said even if it had of worked I wouldn’t want to be uploading all our document through the above procedure

Solution…

I wrote my own app using c#.Net and the Salesforce SOAP API to do all the work for me.

The program retrieves all the required data from the previous SQL based system. Then performs upserts of new objects into the Salesforce org, returns a dictionary list of recordIds and attachment items. Finally it checks for duplicate files and then uploads the documents. Multi threading allows the progress to be logged to a form listbox and an accompanying log file. The upserts and duplicate detection allow the program to be run over the top of itself without creating additional unwanted records.

 

 

Salesforce SOAP API

salesforce[1]

I’ve become increasingly familiar with the Salesforce SOAP API in recent days. I’m currently using it to upload summarised financial data to our Salesforce org. The detail of which is too cumbersome and Unwieldy to be kept on a multi-tenant cloud system like Salesforce.

The system from which I upload this data is itself an ASP.net website available publicly. So the control of this upload can be done from anywhere on the internet.

Creating less and less reasons to come into the office. At least it makes moving premises more easy.

I plan to start doing more lookups into the Salesforce data to centralise our business processes.

Graphing your Network

Netflow with Nfsen

NfSen

Here’s something I built a long time ago. Its a network graphing tool called NfSen. The system listens to data feeds sent from our Cisco routers and then processes the data and graphs it. The graphs and data are made available by an apache web server so can be viewed anywhere.

It enables us to see at a glance how our network is performing and if there is any unusual behavior occurring. With it we can see how much bandwidth our various connections are using and whether there are any capacity problems on any of our links. If any user has an infected desktop or is running a peer-to-peer sharing program they can be quickly and easily identified.

NfSen-filter

The additional filtering of the data available allows us to see almost any information that we wish about the performance of our network links. I find it hard to remember what life was like without it.

And the best thing about it, cost…$0.00

(P.S. Putting the graphs up on an LCD screen in the IT dept for management to WOW over is fun too!)