Tuesday, March 25, 2014

Installing Force.com IDE on Kepler behind proxy and firewall

I'm working behind proxy but also a mean, mean firewall. I can't download anything unless the site is specifically whitelisted. I couldn't even download Kepler without getting approval from a security team.

So naturally my Force.com IDE install will have some problems because it needs to go off and fetch resources from around the web.

Firstly the old site (http://www.adnsandbox.com/tools/ide/install/) seems to work better than the new one. It looks like plenty of people are aware of this.

My solution for getting the rest of the install working was to track down random versions of the files Eclipse was complaining about and drop them in the plugins directory. Eclipse has an install option "Update my installation to be compatible with the items being installed" which will update these files if they're out of date. But before you can even select this option, you have to have some version of the file in the right location.

The files I needed were:

  • org.apache.log4j - copied it from my old eclipse helios install
  • org.eclipse.update.ui - not in helios install, found on java2s.com
The first time I tried to install, I got another error. I tried again, and I got past it and was asked to restart Eclipse to complete installation. So it looks like the first attempt was partially successful which allowed the second attempt to complete.

Monday, March 17, 2014

Get serial number on remote Windows box

At the command line, type

wmic bios get serialnumber

http://support.microsoft.com/kb/558124

Wednesday, February 19, 2014

Deleting Salesforce apex classes from production org

Goal Scenario

Some temporary apex classes have been created in production and need to be deleted.

For change control reasons the developer does not have rights to use the Force.com IDE to achieve this.

The production administrator doesn't use Eclipse and only has the ability to do the following:
  • Manual configuration
  • Change sets
  • ANT deployments

Solution


Provide a package for ANT deployment containing only the meta files for the classes to be deleted.

Inside the meta, change the value of the status tag to Deleted.

     <?xml version="1.0" encoding="UTF-8"?>
     <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
         <apiVersion>23.0</apiVersion>
         <status>Deleted</status>

Thursday, February 13, 2014

Force.com IDE - Password Required

Symptom

On startup, Eclipse Force.com IDE sits at "Pre-fetch SObjects" step for a long time, and then asks for username/password.

Possible Causes
Java seems to cause this problem.

First time I experienced it, it appeared that Java had become corrupted.
Second time was immediately after installing a Java update.

Update: this happened a third time and messing around with Java didn't fix it.

It turns out that the  Eclipse proxy settings screen is a bit buggy. A lot of corporate firewalls don't support SOCKS so this has to be disabled. When selecting Manual settings, it appears to be impossible to disable the SOCKS proxy settings. However selecting the setting and clicking Clear seems to fix the problem.

http://stackoverflow.com/questions/5857499/how-do-i-have-to-configure-the-proxy-settings-so-eclipse-can-download-new-plugin

Possible Resolutions

1. Check and correct Java proxy settings. It appears these can be lost sometimes

Start | Settings | Control Panel | Java | General tab | Network Settings...
Tick Use proxy server and enter the address and port
Click OK until all dialogs closed


If not sure what to use, see your Eclipse proxy settings (Window | Preferences | General | Network Connections)


2. Repair Java
3. If this doesn't work, uninstall and reinstall
4. It may be necessary to go back to a previous version

Monday, February 3, 2014

Windows Phone 8 to Windows tethering issues

Tethering a Windows Phone to Windows is surprisingly more problematic than tethering to iOS/Android. Various problems can occur including BSOD(!!!)

The fix is to enable FIPS (Federal Information Processing Standards) on the connection. The post below is a starting point for resolving issues and describes how to configure the wireless lan without triggering a BSOD and losing  your configuration.

http://waveformation.com/2013/10/02/win8-internet-connection-sharing-with-windows-phone-htc-8x-
fixed/

However this only works if there has been one successful tether to the phone in the past, as the fix is dependent on the existence of network "profiles" and "interfaces".

A solution that gets around this is to:

  1. Boot the PC into Safe Mode with Networking. See the link for how to do this for various OS versions http://www.computerhope.com/issues/chsafe.htm
  2. Tether to your phone. You'll get an annoying Limited Connectivity message, but the PC shouldn't crash
  3. Right-click your network connection (in the System Tray) and select Properties | select Security tab | click Advanced Settings | tick "Enable Federal Information Processing Standards (FIPS) compliance for this network" | click OK until all dialogs are closed
  4. Restart Windows into normal mode

Wednesday, November 20, 2013

Salesforce Apex: An unexpected error occurred

I got this when I defined a for loop as follows:

for (i=0; i<collection.size(); i++)

The fix is to correct the definition as follows:

for (integer i=0; i<collection.size(); i++)

Saturday, November 16, 2013

Epson Status Monitor disappears after installing Windows 8.1

Problem

After installing Windows 8.1, the Epson Status Monitor disappeared. Selecting Printer Preferences would bring up the unhelpful generic Windows info.

The Epson Status Monitor is a rather antiquated piece of software that is still used with the latest Stylus range of printers. Without it, you can't check ink levels or get detailed information about printer errors.



Solution


  1. Open Devices and Printers
  2. Right-click the printer and select Printer Properties
  3. Click the Change Properties button
  4. Select the Advanced Tab
  5. In the Driver dropdown, change the selection to use the correct driver. In my case, I had to switch from "Epson ESC/P Standard 3 V4 Class Driver" to "EPSON NX130 Series".