Wednesday, February 6, 2008

Which Firefox Plug-ins are useful for developers to increase productivity?

While working with Web-Applications we need to test a lot of stuff in the browser.
As world wide most of browsers are used, I find the Mozilla firefox one of the coolest browser to use.
It is more helpful in testing your web applications, as you can install add-ons & plug ins to this browser.

I would like mentions some of the add-ons/Plug-ins for this browser which are useful for increasing your productivity & to do smart work... :)

Information of the plug ins/ add-ons have taken from their websites only, as whose product can explain well ;)


FireShot
FireShot is a Firefox extension that creates screenshots of web pages.
Unlike other extensions, this plugin provides a set of editing and annotation tools, which let users quickly modify captures and insert text and graphical annotations. Such functionality will be especially useful for web designers, testers and content reviewers.
It's possible to choose whether entire web page or only visible part of this page should be captured.
Screenshots can be uploaded to server, saved to disk (PNG, GIF, JPEG, BMP), copied to clipboard, e-mailed and sent to external editor for further processing.

FireBug
Firebug integrates with Firefox to put a wealth of web development tools at your fingertips while you browse. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page

Speed up your web pages with YSlow
YSlow analyzes web pages and tells you why they're slow based on the rules for high performance web sites. YSlow is a Firefox add-on integrated with the popular Firebug web development tool.
YSlow gives you:
* Performance report card
* HTTP/HTML summary
* List of components in the page
* Tools including JSLint

Server Spy
Server Spy is a small Firefox extension that displays the brand of web servers (e.g. Apache, IIS, etc.) in the right-hand side of the browser window's status bar. When a tab is selected, Server Spy shows the name of the server that has served up the corresponding page.

LiveHttpHeaders
The goal of this project is to adds information about the HTTP headers in two ways:
* First by adding a 'Headers' tab in 'View Page Info' of a web page.
* Second by adding a tool in the 'Tools->Web Development' menu to be able to display http headers in real time (while pages are being downloaded from the Internet.
* Third by letting you edit request headers and replay an URL (beta). Look for the Replay button in the live window!

This project may be of some help for the following:
* Help debugging web application.
* See which kind of web server the remote site is using.
* See the cookies sent by remote site.

Fast Dial
Fast Dial replaces "about:blank" page with a panel of thumbnails of your favorite sites. Click on an empty cell, assign a site URL, click OK - a thumbnail will be generated for a site. You can also add sites opened in browser or existing bookmarks by right-clicking them and choosing "Add to Fast Dial" from context menu.
By checking "Group" checkbox in thumbnail properties you can create groups of nested thumbnails.

FireShot
FireShot is a Firefox extension that creates and edits screenshots of web pages.

Unlike other extensions, this plugin provides a set of editing and annotation tools, which let users quickly modify captures and insert text and graphical annotations.
Such functionality will be especially useful for web designers, testers and content reviewers.

Screenshots can be saved to disk (PNG, JPEG, BMP), copied to clipboard, e-mailed and sent to external editor for further processing.

iMacros
iMacros lets you record and replay repetitious work. iMacros programmatically interacts with any and all websites. It fills out forms and automates the download and upload of text, images, files and web pages. iMacros includes support for PDF handling, taking screenshots, simulating different user agents and connecting to proxy servers. It is the only web automation software that works with every website.

What iMacros can do?
(1) Web Automation / Web Scripting
(2) Data Extraction/Web Scraping/Web Mining/Enterprise Data Mash-Ups
(3) Web Testing
(4) Form Filler on Steroids and Password Manager
(5) iMacros as Software component

Session Manager
Session Manager saves and restores the state of all windows.
Building upon SessionStore, this extension allows you to save the current state of Firefox (history, text data, cookies) and return to that state at any later moment. Besides the manually saved states, Session Manager automatically stores the current state in case of a crash.

Web Developer
Web Developer screenshot The Web Developer extension adds a menu and a toolbar to the browser with various web developer tools. It is designed for Firefox, Flock and Seamonkey, and will run on any platform that these browsers support including Windows, Mac OS X and Linux.

DownThemAll
DownThemAll (or just dTa) is a powerful yet easy-to-use Mozilla Firefox extension that adds new advanced download capabilities to your browser.
DownThemAll lets you download all the links or images contained in a webpage and much more: you can refine your downloads by fully customizable criteria to get only what you really want.
DownThemAll is all you can desire from a download manager: it features an advanced accelerator that increases speed up to 400%, it allows you to pause and resume downloads at any time and, last but not least, it's fully integrated into your favorite browser!

Hyperwords
With Hyperwords all the text on the web becomes richly interactive: Select any word on any page and choose a command.
It's free! For more information, please have a look at the user guide or have a look at the demo. Read the reviews on Mozilla if you like.

How to run javac 1.5 (or beyond) compiler for JSP compilation in Tomcat 5.5 with generics enabled (and other Java 1.5 only features like autoboxing)?

Most of web applications are using Tomcat as a container & Java as these are open source & much more information available for their usage.
Apache's Tomcat & Sun's Java are coming with their newer versions so we are going for their new features.
Like in Java 1.5 has come with its newer features of Autoboxing & Generics which made programmers' life simpler but while upgrading our applications it becomes difficult. ;)

I came across this problem while upgrading my application with Java(1.5). I have used Tomcat 5.5.9 to run my web-application. This version of Tomcat is compiling JSP with Java(1.4) even if I have only JDK 1.5 installed on my machine.
Due to this my changes in JSP regarding Autoboxing won't getting compiled & tomcat started throwing exception for JSP which is having use of Java 1.5 features.

So to make them compile with Java 1.5 we have to follow the steps:
[Step 1] Copying tools.jar, ant.jar, ant-launcher.jar to <TOMCAT_HOME>\common\lib & removing jasper-compiler-jdt.jar
You will get the tools.jar from <JAVA_HOME>\lib & other two ant related jars from lib folder of ANT. Better to have latest updated Ant.

[Step 2] Modifying the web.xml located @ <TOMCAT_HOME>\conf\

compilerSourceVM - What JDK version are the source files compatible with? (Default JDK 1.4)
compilerTargetVM - What JDK version are the generated files compatible with? (Default JDK 1.4)
* You have to modify JDK version to 1.5 for compliation of JSP with JDK(1.5).

To more info about above parameters you have to visit Apache Tomcat 5.5 Documentation.
The above parameters are to be added as shown in following code:
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>compilerSourceVM</param-name>
<param-value>1.5</param-value>
</init-param>
<init-param>
<param-name>compilerTargetVM</param-name>
<param-value>1.5</param-value>
</init-param>

<load-on-startup>3</load-on-startup>
</servlet>