Illuminated Cloud

Illuminated Cloud (IC) is an IDE with a Salesforce layer that apparently makes development in Salesforce a lot easier. I saw a demo of a developer using it at the Melbourne Salesforce Developer Meetup and it was fab - it's like a true IDE that I have been used to previously working with in playing around with code in the .net space. It's more than just a text editor. 

I held off purchasing it, because a) I don't code that much and b) I wanted to wait about the rumoured Salesforce developer goodies at Dreamforce - now known as SalesforceDX. So DX won't be around for quite a while yet, so I have no excuses to try IC. 

The thing that completely sold me on making the purchase of IC was the Code Coverage Podcast that Matt and Steven did chatting with Scott Wells. The amount of effort and work that has gone into producing IC, I feel that I must purchase it, even though I am not a developer and won't get full use out of it. Go listen to the Podcast first. 

So whilst I love MavensMate, every time I use it it takes hours to get back up and running with it, and I've now set it up from scratch about 5 times, so I'm a bit over it. So, time to try something new. I will be using IC in a similar way, which is to extract org metadata, back it up to Bitbucket, and make minor changes to the org via the metadata. 

Getting Set Up

I obviously did everything wrong getting IC set up, so I won't go into it here. Just follow along with the YouTube video. But I got great support on the Google Group. 

Using IC

There is so much I need to learn about using IC, I feel that I know nothing. But the tips are to learn the keyboard shortcuts wherever possible, and to understand the Offline Symbol Table - both of which I am not good with yet. 

There is apparently a way to set up your projects to work in both MavensMate and IC, but I just want to get the basics working right now, so I will create new projects in a new folder. (Also I wanted to change my folder structure that I had set up in MM). 

Metadata

The Metadata retreival is soooo slow. Even listing the metadta in the org takes minutes, then it takes over half an hour to download the metadata. This is a Salesforce issue, not IC, or even MavensMate. It's just annoying. 

Create New Project

I will just go through the basics here, more just as a pointer to myself next time I need to create a new project. You can create a project from existing source on your local system or Git, but I'm just keeping it simple. 

  • File > New > Project
  • Choose Illuminated Cloud Project
  • Click the green button next to Connections - I'm not sure if something is wrong with my IDEA installation but it just looks like a green ' to me. I think it's meant to be a pencil. 
  • Click the green plus at the top of the Connections screen
  • Do the regular connection thingo - sad that it's not OAuth based yet. Still no OAuth many months later. This is definitely an issue for me. 
  • Click Test
    • For some reason, if you get the connection details wrong, you can't seem to edit them in this screen. I don't know why. 
    • So click Test before you then click Connect
  • The Metadata list will populate. 
    • I would LOVE to be able to select ALL in this list. 
    • Maybe there is a default metadata to be selected list similar to MM
    • Or the way The Welkin Suite does it with pre-defined bundles based on Admin or Code
    • But mostly I am doing this to download ALL the metadata for an org to back it up to source control (yeah, I know I don't know DX yet), so I want to select ALL - give me EVERYTHING.  
  • Choose Selected
  • Select the Metadata Types you want. 
  • Click Next
  • Leave DEFAULTS on this next screen - don't mess around with it. 
  • Click Next
    • There is a setting where new projects can be opened in the same or new window. I have chosen new window - not sure which is best. 
  • Now WAIT. 
    • Hmm, this one was only 6 minutes - I wonder if it was because it was a production org, not a test org, and maybe the metadata retrieve is quicker on production orgs? 
    • See also this twitter convo about maybe removing the queue times for small Metadata retrievals 
  • When the diff tool comes up, select all in the upper window then press the >> arrows. 
    • This seems to take a while
    • When the screen is blank, close it. 
    • Now wait for the indexing to complete - this will take a few minutes also. 
  • Hmm, for some reason I got an error that the Offline Symbol Table was not created
    • third time creating a project, and not one has gone smoothly yet. 
    • It fixed itself after the Git index was completed. 
  • Now we want to save to Bitbucket. 
    • VCS > Enable Version Control Integration - choose Git. 
      • This creates a git repository in your folder. 
      • It takes a while to index
    • Go to Git Settings and check Allow force push.
      • Not really sure what this does, but it seems to be needed. 
    • Hmm, I'm confused again. I think what I did is:
      • Right click on SRC folder and choose add to Git
      • Hmm, I think I should have right clicked on the Project folder - as it only added the src folder to Git. So I went back and right clicked on the project folder. 
      • Then I could commit
    • Commit the changes. 
      • Eg Backup from Prod
      • Uncheck Perform code analysis
      • Uncheck Check TODO
      • Cick Commit
    • Now, because we have force Push on, the Push window will appear
    • Go to Bitbucket and create a repository
      • Make it Private
      • Grab the URL
      • Click Define remote in the push window. 
      • It should all just work (you will have had to have logged into Bitbucket at some point though). 
    • Click Push. 
    • It takes a while

Getting Metadata

I still don't trust this app to get ALL the metadata in the org. I checked EVERYTHING in the list, one by one. Now my project only has about 20 folders. I hope it's because it just doesn't download empty folders? 

Things I just don't understand

  • Do I need an Offline Symbol Table if I'm not doing code. 
  • What Local Only, Local + Server, Server Only and Subscribed Only really mean - is this just some weird IDE thing that we need to work around? I just think Server is Salesforce, but why did some metadata not download when I asked it to download everything? 
  • How to set up IC in the most simplest way so I don't have to deal with the IDE crap that I don't need. 
  • Three times after trying to retrieve ALL metadata, there are still things that say Server Only. I just can't trust this app!  

Annoying Things

I just want to search for Illuminated Cloud in my Windows Applications folder. So every time I update the IDE I have to go back in and modify the name of the application shortcut. 

I don't use this app every day and it seems like every time I use it, it needs updating! So annoying.