Product Development in Brisbane

Fixing”No backend servers available” running Vignette on Weblogic

November 26th, 2008

After spending a considerable amount of time looking at WebLogic and Vignette groups and sides on the net, I finally worked out the cause of a recent “No backend servers available” error message which was occuring when trying to access the vcm 7.5 AppConsole on a recently installed version of Vignette.  In the end google didn’t know the answer to my question.  It’s time to teach google a lesson.

So after getting quite frustrated with what was happening, being unable to find documentation, and finding that a reinstall wasn’t helping much, I pulled out a developers true friend, and started poking around with the runtime services console.

After playing around with the runtime services, I was able to work out that the default install of Vignette  was setting up a cluster, containing the single server.  The combination of suspending and restarting my vmware virtual machine was leading to the Weblogic server to not be started correctly, resulting in the “No backend servers available” error when trying to visit the AppConsole. 

This problem was resolved by following two simple steps:

  • being patient after a restart, allowing the system to do all its checks, (waiting about 5 minutes worked for me) and then
  • simply starting the server using the runtime services console. clusters->[cluster name]-> control -> start/stop -> startup.

So if you end up in a situation where you are seeing “No backend servers available” with Vignette and WebLogic, don’t despair, it can be resolved by simply starting the servers in your cluster (even if it’s a cluster of 1) after patiently waiting (about 5 minutes) for the server to get into a stable state.

Thankfully google knows this too now.


How Many Keys to Start Composing an Email

November 10th, 2008

 

I was recently reading Rands in Repose Article Saving Seconds, and took the challenge to how many keystrokes would it take for me to start writing an e-mail message.

My first go was a little bit variable.

It consisted of:

  1. a variable number of CMD-tabs to get to Mail.App
  2. CMD-N to create the message.

After reading the true statement that creating e-mail is a common enough task that it should deserve optimisation, I figured that I'd put in the effort to write the AppleScript to optimise it.  So, with the combination of AppleScript, and Butler, I have ended up with:

  1. a single CMD-OPT-CTRL-M to start up Mail.App (I like using CMD-OPT-CTRL for all my Butler shortcuts).

The AppleScript is simply:

tell
    application "Mail"
    activate set newMessage to make new outgoing message with properties {visible:true}
end tell   

 


Windows Vista - Unblocking Security For Executables in Program Files

October 29th, 2008

 

Unblocking security to remove the annoying Open File - Security Warning dialog on Windows Vista is harder (much harder) than it should be.  Especially when you have the file sitting in a secure location such as Program Files.  There are so many different solutions out there when you ask Google. Let me add one more, because

security-warning.jpg

If you are getting the dialog titled "Open File - Security Warning" with the bold text: "The publisher could not be verified.  Are you sure you want to run this software?", it may be a bit convulted to get rid of the problem.

First you should try going to the executable file, right click on it to bring up the properties dialog, and click the unblock button.

eclipse-properties.jpg

If this doesn't work (say if the .exe is in a secure folder such as program files), don't give up. Try moving the file to a location that isn't secure, and then unblock it.

If that doesn't work, then run screaming, and buy a mac.


Configuring Windows 2003 as a Development Server

October 16th, 2008

Like many developers I spend a decent amount of time stopping and starting VMWare servers. Many of these are running Windows Server 2003. Win 2K3 has been designed as a server, and therefore has things like automatic tracking of reasons why the server was shutdown, which requires you to enter reasons into the dialog. As a server it also has pretty tight security around the Internet Explorer,making it even less usable than usual.

Fortunately (like always) the internet has the answers to these problems. The Microsoft Software Forum Network has a good series of articles titled “How to convert your Windows Server 2003… to a Workstation!“.  These talk about a whole heap of different options on what to do, the most useful for making W2k3 run as a development server are:

  1. Disabling Internet Explorer Enhanced Security, and
  2. Disabling the Shutdown Event Tracker.

Following the simple steps in these articles will help save time when working with a Development Win 2k3 server.


More Photo’s from Ike

October 9th, 2008

After seeing Kristin’s blog make it to planet Ephox (welcome to the team Kristin), and her post on some great pictures from Houston, I had to share some of the ones I came across…

First of all The Boston Globe has some nice pictures, but this one really takes the cake.


Reducing the Startup time for IBM WebSphere Portal

September 10th, 2008

After spending too much time today waiting for WebSphere Portal to restart (due to a nasty bug causing Portal to crash when I was working with it) I've been revisiting how to improve the startup time.

The key step in doing this is to uninstall portlets that aren't needed. (see http://www-01.ibm.com/support/docview.wss?rs=899&uid=swg21213982&ca=lsall for a list). For the lazy developers (read me) there are a series of scripts that have been developed that do this. The article Installing and configuring WebSphere Portal V6.0 Servers for development with Rational Application Developer V7.0 and Rational Software Architect V7.0 includes these scripts in a zip file (search for StartupPerformanceConfig.zip in the article). The article also has some good suggestions for memory and jvm settings for your server.

I have known about the existence of this process for a little while, but it took me a little to find them just now (when tuning a development server). Google was have troubles pointing me to the right article, so I thought for my sake I'd try and help google find this in the future. (Even if google did find the right spots, the title of the developerworks article wouldn't have made me think that it had the nugget of information about IBM WebSphere Portal Startup performance).


SSH Tunnelling is your Friend

September 9th, 2008

I've been using ssh tunnels for a while now. I first encountered the technique when setting up my e-mail client when doing research at the ISI. The ISI are understandably quite security conscious, so a ssh tunnel was required to access my mail on my mac. I'll admit that I set this up initially withot really having a clue, simply following the directions of the guys at the ISI that knew what they were doing. I had a couple of ssh commands sitting in an e-mail (and more often than not in my history), which I would simply refer to and reuse.

More recently at Ephox I've been doing a fair bit of ssh tunneling. I've been doing this to access the UK demo server for E2, exposing the Websphere admin and wcm portal urls via the tunnels. This process has worked relatively well for a couple of weeks for me, but in my current stage I'm going through some pain as the transfer of my ear file from the local build to the remote server is taking between 15 and 20 minutes currently. To get around this for some rapid bug fixing work, I've entered the next stage of my ssh tunneling jujitsu

  • ssh to remote server
  • ssh back to local Brisbane office, setting up a tunnel into subversion server
  • then use subversion to check out the codebase.

After having performed this setup work, I can easily do my changes on my local box, update the remote server via svn, then build and deploy from the remote server. The build and deploy are currently too manual, and could use some automation, but I'm currently happy to wear the pain, and drop my deploy process from 20 minutes to under five.  

My current next step is to automate the rest of the process.  Assuming my recent foray into sysadmin land didn't completely kill the server, this should be done very soon.


IntelliJ Analyze Stack Trace

September 4th, 2008

The IntelliJ Analyse stack trace is a good tool to add to your bag of tricks.

Simple copy a stack trace to the clipboard, then go to IntelliJ -> Analyze Menu -> Analyze Stack trace

You will see the option to normalize the stacktrace (which is worth choosing), after pressing ok, you will see the output put into the run menu, which will allow you to navigate to classes inside your current project.

This is a nice tool for debugging support stacktraces you may receive, or stack traces originating from a remote server.


IntelliJ Cheat Sheet

September 2nd, 2008

As I seem to end up with the odd person dropping by the blog to look at IntelliJ keyboard Short cuts, I figured that it is probably worth pointing people towards the DZone IntelliJ Refcard which has a pretty good introduction to IntelliJ.


Swing Text APIs

August 29th, 2008

At Ephox we are pretty heavy users of the Java text APIs. In some respects the EditLive! team probably knows more about them than anyone in the world. In a Creative Coding Afternoon recently, I was doing some work on a cool plugin for EditLive! (it might make it into a future release of Enterprise Edition), and after spending time getting angry with the Swing document (some of the anger was justified). I had an epiphany. I expect that the actual revelation will not matter to any outside of Ephox (ok so people who want to work for ephox might be interested), but I'm going to share it anyway.

The Swing Document model != the DOM. Don't expect it to look like the DOM. Don't expect it to be the HTML DOM. The subclass HTMLDocument is not the DOM. While you can access all the information in the DOM, you should not expect there to be a direct mapping between concepts in the DOM and in the Swing Document model. You can expect all the information in the DOM to be available in the Swing Document model, but it isn't going to look exactly like the DOM. The Swing Document model is a generic model for presenting a document for us in a rich text editor, which means the DOM is transformed to work with the Swing Document model.

Once you can get your head around this, the Swing Text APIs can begin to make more sense (although I'm still grumpy about the lack of working with the java.util.collections properly).