Skip to content

Any Configurable Installation packages?

Many a time when you are working on a web application, you would need to release your files for adopters to deploy and test early. Sometimes when your adopters are as many as 7, things dont look nice! Have a look at the following setup

Typical Opensource webapp
—————————–
1) Download Tomcat 5.5.x/JBoss 4.x
2) Download Ant/Maven
3) Download CVS/SVN client or eclipse
4) Install 1+2+3
5) Download sourcecode from GForge/Sourceforge
6) Set Environment variables
7) Install MySQL/PostGreSQL 8) Run ddls
9) configure datasource connection properties for the webapp
10) Configure other Security/Authorization related modules in config files
11) Configure all other property files, config files
12) Build codebase via ant/maven
13) Deploy webapp
14) Run the webapp

….

Wait,
All the above 1-14 needs to have repeated instructions seperately for Windows/Unix/Mac

Wait., again, each of the steps above can have alternate paths, for instance. What if the end user already has a tomcat running with another app? We need to provide instructions for changing ports on another instane of tomcat etc …
And finally, not to mention. People just dont want to follow instructions :) . Even after saying “Download Tomcat 5.5.20, they will end up downloading 5.0.28 and whats worse is they try to convince us with an idealogical logic. Sigh!o
Over yet? Nope…

Dont forget some end users dont even know how to install eclipse or configure a cvs client, so we need to provide a full snapshots of instructions.

At last, you end up writing a 30 page installation guide full of snapshots and you think you’ve done your best, wait my friend, the fun begins now ;)

Scene 1
——–
End User 1 – “Hey, I did download eclipse and Im trying to get cvs repository and it doesnt work as per the installation”
You: “OK, what did you do?”
End User 1 – “I tried to connect with the string you had given but it says no repository found”
You: “Ahh, I know what it is, did you change the protocol to extssh? by default it might be pserver. I might have missed that in the snapshot”
End User – “You’re right, thank you so much”

Dont forget, 3 out of 7 people ask the same question. Even after having a mailing list, people just dont read emails. They want to call you and ‘seek’ your expert guidance :)

You: “Why do the adopter sites recruite such peopepl?”

Scenario 2
———–
Director at Adopter site writes an email to the mailing list – “We installed the webapp “successfull”, however we found a critical error, the first create page throws a system exception. Also search gives a similar exception”

He is so proud of his team’ that he has now raised 6 bugzilla bugs and its all on your throat.

You – “Let me have a look at the exception log”
You see teh log and its simple. The guy didnt set his datasource properties for hibernate. instead of localhost, he has used the same example that you gave the installation guide! Phew, some people never learn!!!

If this is not enough, you will have alteast 5 scenarious from 7 different adopter sites with 10 email chains each and minimum 4-5 telephone calls in the first one week. Yeah, right it takes 5 -7 working days for them to setup this damn simple thing.

Coming to the point, you as a developer would be able to perform all the above steps in exactly 30-40 mins. Then why dont we have a smart “Installation package” which could do all the above steps automatically?Yes, I mean downloading tomcat and configuring ports, even running ant task of your choice. Everything from scratch with no assumptions and all choices considered. Even better lets follow conventions to make life easier. Imagine the time saved. Its huge, I tell you. 7 adopter sites would be able to install the package in “one single click” of a button and the only thing they would need to provide is database properties.

ARE THERE ANY SOLUTIONS TO THE ABOVE PROBLEM? A REAL VANILLA WYSIWYG dumb solution?
Do we have smart installers? Or do we need to write custom ant scripts to do the same (I heard there were some)??

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

One Comment

  1. eceppda wrote:

    I feel your pain…
    I don’t know of any generic simple one-click installers. I wonder what freeware apps use? I’m thinking of DBVisualizer, for example. Or what about executable jars like BeanShell? If their double-click executable could launch a Bean Shell, it should be able to perform configuration and installation too.
    My hunch is that there are open source tools available but that you’ll have to be creative to find an elegant solution.

    Thursday, March 1, 2007 at 7:53 pm | Permalink

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*