<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Sciology = Science + Technology</title>
	<atom:link href="http://sureshkrishna.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://sureshkrishna.wordpress.com</link>
	<description>Religious Programming (Eclipse; AJAX; SOA; Mashups; XP + SCRUM).</description>
	<pubDate>Sun, 13 Jul 2008 00:43:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>en</language>
			<item>
		<title>Eclipse Ganymede Release</title>
		<link>http://sureshkrishna.wordpress.com/2008/07/13/eclipse-ganymede-release/</link>
		<comments>http://sureshkrishna.wordpress.com/2008/07/13/eclipse-ganymede-release/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 00:36:13 +0000</pubDate>
		<dc:creator>sureshkrishna</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sureshkrishna.wordpress.com/?p=130</guid>
		<description><![CDATA[Yesterday i have written a short blog;  Things i like in Ganymede. In my blog, Ganymede was misspelled which was purely unintentional. I would like to extend my sincere apologies to all the readers and Eclipse for the confusion.
Thanks to the readers who have timely pointed me this typo.
       [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Yesterday i have written a short blog;  <a href="http://sureshkrishna.wordpress.com/2008/07/11/things-i-like-in-gynamede/" target="_blank">Things i like in Ganymede</a>. In my blog, <a href="http://www.eclipse.org/ganymede/" target="_blank">Ganymede </a>was misspelled which was purely unintentional. I would like to extend my sincere apologies to all the readers and Eclipse for the confusion.</p>
<p>Thanks to the readers who have timely pointed me this typo.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sureshkrishna.wordpress.com/130/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sureshkrishna.wordpress.com/130/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sureshkrishna.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sureshkrishna.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sureshkrishna.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sureshkrishna.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sureshkrishna.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sureshkrishna.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sureshkrishna.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sureshkrishna.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sureshkrishna.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sureshkrishna.wordpress.com/130/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sureshkrishna.wordpress.com&blog=579603&post=130&subd=sureshkrishna&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sureshkrishna.wordpress.com/2008/07/13/eclipse-ganymede-release/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/sureshkrishna-128.jpg" medium="image">
			<media:title type="html">sureshkrishna</media:title>
		</media:content>
	</item>
		<item>
		<title>Things i like in Ganymede</title>
		<link>http://sureshkrishna.wordpress.com/2008/07/11/things-i-like-in-ganymede/</link>
		<comments>http://sureshkrishna.wordpress.com/2008/07/11/things-i-like-in-ganymede/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 23:25:22 +0000</pubDate>
		<dc:creator>sureshkrishna</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[Ganymede]]></category>

		<category><![CDATA[p2]]></category>

		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://sureshkrishna.wordpress.com/?p=116</guid>
		<description><![CDATA[Another great release from Eclipse this year with 23 simultaneous projects. I was little bit confused as to 23 vs 24 projects; these two numbers are hovering in different sources. Never the less, i am happy to download and play with the Release. Indeed, i was really happy and delighted to see my association with [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Another great release from <a href="http://www.eclipse.org/ganymede/" target="_self">Eclipse</a> this year with 23 simultaneous projects. I was little bit confused as to 23 vs 24 projects; these two numbers are hovering in different sources. Never the less, i am happy to download and play with the Release. Indeed, i was really happy and delighted to see my association with Eclipse - as a user and application developer, even though i would love to be a commiter -  and the way we have been improving year-by-year.</p>
<p>Some of the very obvious features, i have been using from the day one.</p>
<p><span style="text-decoration:underline;"><strong>Search Feature </strong></span></p>
<p>Improvements in the Search feature are awesome. I specially like the detailed list of occurrences. Prior to 3.4 / Ganymede, i had to move quickly to the code segments that has the search keys. But now, with the detailed list view, i know exactly where i want to go.</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/07/search.jpg"><img class="aligncenter size-full wp-image-123" src="http://sureshkrishna.files.wordpress.com/2008/07/search.jpg?w=621&h=285" alt="" width="621" height="285" /></a></p>
<p><span style="text-decoration:underline;"><strong>Bread Crumbs in Java Editor</strong></span></p>
<p>This was only available to some of the Web 2.0 style IDEs and Web sites. I am glad that we have this features with the JDT. Even though i have not checked, if i can re-use this Bread-Crumbs widget. At the development time, i really get a good view of the hierarchy. Remember that many of the developers would be editing the source files in the Full Screen Mode (Ctrl + M), if you need to edit or jump to another file, we often minimize, navigate and then again go back to the Full screen mode.With bread crumbs, this is so easy.</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/07/javabreadcrumbs.jpg"><img class="aligncenter size-full wp-image-119" src="http://sureshkrishna.files.wordpress.com/2008/07/javabreadcrumbs.jpg?w=478&h=249" alt="" width="478" height="249" /></a></p>
<p><span style="text-decoration:underline;"><strong>&#8220;dropins&#8221; folder </strong></span></p>
<p>This is super cool. Prior to this release, i used to either manually/automatically copy the plugins and features into the eclipse directories or <a href="http://sureshkrishna.wordpress.com/2007/01/11/eclipse-feature-configuration-via-links/" target="_blank">provide links</a> to the 3rd party or custom plugins. With the &#8220;dropins&#8221; folder, its as simple as just DROPPING the custom or 3rd party plugins in the &#8220;dropins&#8221; folder. How cool is that.</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/07/dropins.jpg"><img class="aligncenter size-full wp-image-127" src="http://sureshkrishna.files.wordpress.com/2008/07/dropins.jpg?w=156&h=205" alt="" width="156" height="205" /></a></p>
<p><span style="text-decoration:underline;"><strong>New Projects and Working Sets</strong></span></p>
<p>WorkingSets are very useful when working with multiple projects. Prior to 3.4, project can be added to a workingSet only after creating it. But with Ganymede , its possible to add a project to a working set at the time of creating it.</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/07/workingset.jpg"><img class="aligncenter size-full wp-image-124" src="http://sureshkrishna.files.wordpress.com/2008/07/workingset.jpg?w=500&h=574" alt="" width="500" height="574" /></a></p>
<p><span style="text-decoration:underline;"><strong>Enhanced Java Problem and Doc Hovers </strong></span></p>
<p>When looking at the JavaDocs by hovering on some of the used or to be used APIs, i was tired of pressing F2 for a full view. Now Ganymede supports this EASILY by just moving the mouse over the Hovers. Quick fix also gives enhanced hover. This could prove to be useful some times.</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/07/quickfix.jpg"><img class="aligncenter size-full wp-image-122" src="http://sureshkrishna.files.wordpress.com/2008/07/quickfix.jpg?w=556&h=279" alt="" width="556" height="279" /></a></p>
<p><span style="text-decoration:underline;"><strong>Quick Assists </strong></span></p>
<p>I personally feel this is a cool feature, as some of the refactoring features are combined in to the Quick Assists ( <strong>Ctrl+1</strong> ). Instead of remembering the the Short Cuts, its easy to remember Quick Assist and luckily its context sensitive.</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/07/quickfix2.jpg"><img class="aligncenter size-full wp-image-121" src="http://sureshkrishna.files.wordpress.com/2008/07/quickfix2.jpg?w=648&h=327" alt="" width="648" height="327" /></a></p>
<p><span style="text-decoration:underline;"><strong>Read-Write Occurances</strong></span></p>
<p>This is one feature that is small yet powerful. Once the source file is large enough, its difficult to know which methods are reading and writing a particular instance variable. This features (<strong> Alt+Shift+O</strong> ) is very useful in this respect. It shows occurrences of reads and writes in different colors.</p>
<p><span style="text-decoration:underline;"><strong>Arrange src elements from Outline View</strong></span></p>
<p>This has been my long time wish to have this feature. Many times while coding, i have methods so randomly written that its time consuming to arrange them in the order (like all the Public, Protected, Private, Utility Methods, Class Helper Methods, etc&#8230;). This feature works like magic, just drag-and-drop the src elements in the outline view and the src code elements are automatically arranged.</p>
<p><em>Does anyone see that the BreadCrumbs View, Package View and Outline View are showing the elements in a different sorting order. </em></p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/07/outlineview1.jpg"><img class="aligncenter size-full wp-image-128" src="http://sureshkrishna.files.wordpress.com/2008/07/outlineview1.jpg?w=1024&h=559" alt="" width="1024" height="559" /></a></p>
<p><span style="text-decoration:underline;"><strong>Debug Hover </strong></span></p>
<p>During debug, the variable values are viewed either by Ctrl + Shift + I or with the context menu. With the Ganymede enhancement, the Mouse hover would show the variable values. This is real cool.</p>
<p>And Finally&#8230;&#8230;.</p>
<p><span style="text-decoration:underline;"><strong>Provisioning aka p2</strong></span></p>
<p>The greatest thing that can happen to an Eclipse Developer and Eclipse User. For Non-Eclipse and Non-IDE users, it was difficult to chose the required plugins, their dependencies, nearest download site and then download and install. With the help of p2 this is made simple. Really SIMPLE. p2 would automatically detect the dependencies and the nearest site and then download it for you. You could also set the automatic updates for a particular plugin/feature.</p>
<p>I have not yet digged into all the features of p2, but i am sure there are ore features than i know.</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/07/availablesw.jpg"><img class="aligncenter size-full wp-image-118" src="http://sureshkrishna.files.wordpress.com/2008/07/availablesw.jpg?w=662&h=704" alt="" width="662" height="704" /></a></p>
<p>Its so easy to browse the available software and then download it without worrying about the dependencies.</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/07/availablesoftware.jpg"><img class="aligncenter size-full wp-image-126" src="http://sureshkrishna.files.wordpress.com/2008/07/availablesoftware.jpg?w=662&h=704" alt="" width="662" height="704" /></a></p>
<p>Automatic updates are possible from the Preference Page.</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/07/automaticupdates.jpg"><img class="aligncenter size-full wp-image-125" src="http://sureshkrishna.files.wordpress.com/2008/07/automaticupdates.jpg?w=641&h=596" alt="" width="641" height="596" /></a></p>
<p>All in all, i am enjoying my time with Ganymede. I am sure that the ECF is one more exciting project that got released. But i have not got the time to play with it yet. I have seen one video that Ian shared. Its awesome.</p>
<p>Thanks to all those developers and the organizations behind them. Long live Eclipse.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sureshkrishna.wordpress.com/116/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sureshkrishna.wordpress.com/116/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sureshkrishna.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sureshkrishna.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sureshkrishna.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sureshkrishna.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sureshkrishna.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sureshkrishna.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sureshkrishna.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sureshkrishna.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sureshkrishna.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sureshkrishna.wordpress.com/116/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sureshkrishna.wordpress.com&blog=579603&post=116&subd=sureshkrishna&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sureshkrishna.wordpress.com/2008/07/11/things-i-like-in-ganymede/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/sureshkrishna-128.jpg" medium="image">
			<media:title type="html">sureshkrishna</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/07/search.jpg" medium="image" />

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/07/javabreadcrumbs.jpg" medium="image" />

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/07/dropins.jpg" medium="image" />

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/07/workingset.jpg" medium="image" />

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/07/quickfix.jpg" medium="image" />

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/07/quickfix2.jpg" medium="image" />

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/07/outlineview1.jpg" medium="image" />

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/07/availablesw.jpg" medium="image" />

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/07/availablesoftware.jpg" medium="image" />

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/07/automaticupdates.jpg" medium="image" />
	</item>
		<item>
		<title>Java XML Libraries - Quick Reference</title>
		<link>http://sureshkrishna.wordpress.com/2008/06/13/java-xml-libraries-quick-reference/</link>
		<comments>http://sureshkrishna.wordpress.com/2008/06/13/java-xml-libraries-quick-reference/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 19:23:59 +0000</pubDate>
		<dc:creator>sureshkrishna</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[dom4j]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[jaxp]]></category>

		<category><![CDATA[jdom]]></category>

		<category><![CDATA[libraries]]></category>

		<category><![CDATA[quick]]></category>

		<category><![CDATA[reference]]></category>

		<category><![CDATA[xalan]]></category>

		<category><![CDATA[xerces]]></category>

		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://sureshkrishna.wordpress.com/?p=114</guid>
		<description><![CDATA[Reader Level : Basic
Recently i have been involved in a project that uses heavy XML which game me opportunity to look into many Java and XML related technologies/libraries/parsers. I tried to share some of interesting libraries that i dealt with. Interestingly, i have seen very few developers knew what each term (like &#8220;Reader&#8221;, &#8220;Parser&#8221;, &#8220;Builder&#8221; [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><blockquote><p><em>Reader Level : Basic</em></p></blockquote>
<p>Recently i have been involved in a project that uses heavy XML which game me opportunity to look into many Java and XML related technologies/libraries/parsers. I tried to share some of interesting libraries that i dealt with. Interestingly, i have seen very few developers knew what each term (like &#8220;Reader&#8221;, &#8220;Parser&#8221;, &#8220;Builder&#8221; and &#8220;Factories&#8221;) means  in the XML world. The idea of this article is to introduce basic terms and some resources to start in depth dissection.</p>
<h1>XML Parser Technology / Types :</h1>
<p>Many refer to &#8220;XML parsers&#8221; as &#8220;XML APIs&#8221;. Whatever you call it, in the end every one wants to read, process and build xml in some way or the other. Though its quite possible to consider XML file as sequence of characters and write custom parsers, thats not the recommended way if one need to do their job in a &#8220;easy&#8221; manner. In the XML world we often fined two widely used parsers; SAX (Simple API for XML) and DOM (Document Object Model). I am limiting the discussion only to the SAX and DOM.</p>
<p><span style="text-decoration:underline;"><strong>SAX :</strong></span> sax is a event-based parsing mechanism. As the &#8220;SAX Parser&#8221; parses the XML input streams, events like startDocument, endDocument, startElement, endElement, ect&#8230; are encountered and the client program gets the call backs. As this parser type does not load the xml document in to the memory, its relatively low on resources. Sax is a READ-ONLY api (i.e. One can not change any content of the XML File). Client is able to traverse the document in a sequential manner. The new SAX2 specification incorporates name spaces, filter chains, and querying. Some time they are also refered to as push-parsers, as parser pushes recognized tokens to the client.</p>
<p><span style="text-decoration:underline;"><strong>DOM </strong></span>: DOM is a comprehensive API for XML documents. It lets clients to navigate, retrieve, add, modify or delete the contents from the source XML. As opposed to SAX, DOM stores the entire content of XML file in the memory. As one can imagine that storing the XML document would require some sort of object representation for Nodes, Elements, Attributes, ProcessignInstructions, Comments and Text types, its relatively heavy on the memory. The memory consumption size is normally viewed as 5x the XML size. DOM enables clients to access data randomly from the in-memory document. Before we go any further, its important to understand that the current discussion is limited to Java technology. So, lets see a little about the most-frequently-used package from the SDK.</p>
<h1><strong>JAXP :</strong></h1>
<p>The Java API for XML Processing (JAXP) enables applications to parse, transform, validate and query XML documents using an API that is independent of a particular XML processor implementation. JAXP provides a pluggability layer to enable vendors to provide their own implementations without introducing dependencies in application code.  Using this software, application and tool developers can build fully-functional XML-enabled Java applications for e-commerce, application integration, and web publishing.</p>
<p>JAXP is a standard component in the Java platform. An implementation of the JAXP 1.3 is included in J2SE 5.0 and an implementation of JAXP 1.4 is in Java SE 6.0. JAXP 1.4 is a maintenance release of JAXP 1.3 with support for the Streaming API for XML (StAX). JAXP 1.3 contained five JAR files which were jaxp-api.jar, sax.jar, dom,jar, xercesImpl.jar, and xalan.jar. The packaging reflected the technologies covered, as well as sources used in JAXP 1.3. In JAXP 1.4, these technologies and the newly added StAX package have been tightly integrated into the JAXP RI</p>
<h1><strong>Parser Implementations :</strong></h1>
<p><span style="text-decoration:underline;"><strong>Xerces-J</strong></span> : The Xerces Java Parser 1.4.4 supports the XML 1.0 recommendation and contains advanced parser functionality, such as support for the W3C&#8217;s XML Schema recommendation version 1.0, DOM Level 2 version 1.0, and SAX Version 2, in addition to supporting the industry-standard DOM Level 1 and SAX version 1  APIs. This release includes full support for the W3C XML Schema Recommendation, except for limitations as described on their website.</p>
<p>In order to take advantage of the fact that this parser is very often used in conjunction with other XML technologies, such as XSLT processors, which also rely on standard API&#8217;s like DOM and SAX, xerces.jar was split into two jarfiles:</p>
<ul>
<li>xml-apis.jar contains the DOM level 3, SAX 2.0.2 and the JAXP 1.3 APIs;</li>
<li>xercesImpl.jar contains the implementation of these API&#8217;s as well as the XNI API.</li>
</ul>
<h1><strong>XPath Implementations</strong> :</h1>
<p><span style="text-decoration:underline;"><strong>Jaxen</strong></span> : Jaxen is an open source XPath library written in Java. It is adaptable to many different object models, including DOM, XOM, dom4j, and JDOM. Is it also possible to write adapters that treat non-XML trees such as compiled Java byte code or Java beans as XML, thus enabling you to query these trees with XPath too.</p>
<p><span style="text-decoration:underline;"><strong>Saxon</strong></span> : Saxon is a full featured library for the XSLT 2.0, XQuery 1.0, and XPath 2.0 Recommendations. Saxon comes in two packages: Saxon-B implements the &#8220;basic&#8221; conformance level for XSLT 2.0 and XQuery, while Saxon-SA is a schema-aware XSLT and XQuery processor. Both packages are available on both platforms (Java and .NET). Saxon-B is an open source product available from this site; Saxon-SA is a commercial product available from Saxonica Limited. A free 30-day evaluation license is available.</p>
<p><span style="text-decoration:underline;"><strong>Xalan</strong></span> : Xalan-Java fully implements XSL Transformations (XSLT) Version 1.0 and the XML Path Language (XPath) Version 1.0. XSLT is the first part of the XSL stylesheet language for XML. It includes the XSL Transformation vocabulary and XPath, a language for addressing parts of XML documents. Implements Java API for XML Processing (JAXP) 1.3, and builds on SAX 2 and DOM level 3.Implements the XPath API in JAXP 1.3.May be configured to work with any XML parser, such as Xerces-Java, that implements JAXP 1.3.</p>
<h1><strong>Java XML Document Builders</strong> :</h1>
<p>Do NOT confuse Builders with parsers. Builders basically uses the default/underlaying parsers, gets the  org.w3c.Document and converts them to specific Document type (e.g. org.dom4j.Document or org.jdom.Document). DOM4J seems to be quite advanced in terms of the functionality for a Java developer. The JDOM API seems to be quite simple for the implementation.</p>
<p><span style="text-decoration:underline;"><strong>JDOM</strong></span> : JDOM is, quite simply, a Java representation of an XML document. JDOM provides a way to represent that document for easy and efficient reading, manipulation, and writing. It has a straightforward API, is a lightweight and fast, and is optimized for the Java programmer. It&#8217;s an alternative to DOM and SAX, although it integrates well with both DOM and SAX. Most importantly it uses Java Collection API. I hope its easy for a java programmer <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .<br />
As i understand JDOM relies on the Jaxen as the default XPath library. But we can also use any xpath lilbrary of our choice like xalan.</p>
<p><span style="text-decoration:underline;"><strong>DOM4J</strong></span> : dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP.</p>
<h1><strong>References:</strong></h1>
<ul>
<li><strong>Xerces </strong>
<ul>
<li>http://xerces.apache.org/xerces2-j</li>
<li>http://xerces.apache.org/xerces2-j/faqs.html</li>
</ul>
</li>
<li><strong>JAXP</strong>
<ul>
<li>https://jaxp.dev.java.net</li>
<li>https://jaxp.dev.java.net/files/documents/913/16751/BoF-9209-Java-API-for-XML-Processing.pdf</li>
</ul>
</li>
<li><strong>JDOM</strong>
<ul>
<li>http://www.jdom.org</li>
<li>http://www.jdom.org/docs/faq.html</li>
</ul>
</li>
<li><strong>DOM4J </strong>
<ul>
<li>http://www.dom4j.org/cookbook.html</li>
<li>http://www.dom4j.org/compare.html</li>
<li>http://dom4j.org/benchmarks/xpath/index.html</li>
</ul>
</li>
<li><strong>Jaxen</strong>
<ul>
<li>http://jaxen.codehaus.org</li>
<li>http://jaxen.codehaus.org/faq.html</li>
</ul>
<ul>
<li>http://cafeconleche.org/books/xmljava/chapters/ch16s07.html</li>
</ul>
</li>
<li><strong>Saxon</strong>
<ul>
<li>http://www.saxonica.com</li>
<li>http://saxon.sourceforge.net</li>
</ul>
</li>
<li><strong>Xalan</strong>
<ul>
<li>http://xml.apache.org/xalan-j/overview.html</li>
<li>http://xml.apache.org/xalan-j/getstarted.html</li>
</ul>
</li>
<li><strong>A look at features and performance of XML document models in Java</strong>
<ul>
<li>http://www.ibm.com/developerworks/xml/library/x-injava/index.html</li>
</ul>
</li>
<li>http://www.ibm.com/developerworks/edu/x-dw-xml-i.html</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sureshkrishna.wordpress.com/114/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sureshkrishna.wordpress.com/114/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sureshkrishna.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sureshkrishna.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sureshkrishna.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sureshkrishna.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sureshkrishna.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sureshkrishna.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sureshkrishna.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sureshkrishna.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sureshkrishna.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sureshkrishna.wordpress.com/114/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sureshkrishna.wordpress.com&blog=579603&post=114&subd=sureshkrishna&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sureshkrishna.wordpress.com/2008/06/13/java-xml-libraries-quick-reference/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/sureshkrishna-128.jpg" medium="image">
			<media:title type="html">sureshkrishna</media:title>
		</media:content>
	</item>
		<item>
		<title>JDOM Quick Reference</title>
		<link>http://sureshkrishna.wordpress.com/2008/06/09/jdom-quick-reference/</link>
		<comments>http://sureshkrishna.wordpress.com/2008/06/09/jdom-quick-reference/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 19:05:39 +0000</pubDate>
		<dc:creator>sureshkrishna</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sureshkrishna.wordpress.com/?p=112</guid>
		<description><![CDATA[JDOM: [www.jdom.org]
JDOM is a full featured Java API for the SAX and DOM accessing. Collections are used heavily for the results and queries to make Java programmer life easier. The SAX and DOM parsers would be the underlaying default parsers. i.e. JAXP is checked if it exists then the Apache parser then finally the hard [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span style="text-decoration:underline;"><strong>JDOM: [<a href="http://www.jdom.org/" target="_blank">www.jdom.org</a>]</strong></span></p>
<p>JDOM is a full featured Java API for the SAX and DOM accessing. Collections are used heavily for the results and queries to make Java programmer life easier. The SAX and DOM parsers would be the underlaying default parsers. i.e. JAXP is checked if it exists then the Apache parser then finally the hard coded internal parser. It also provides adapters to many other parsers like Oracle Parser, IBM Parser and Apache Xerces DOM.</p>
<p><span style="text-decoration:underline;"><strong>Main Classes  [</strong><a title="JDOM JavaDocs" href="http://www.jdom.org/docs/apidocs/index.html?overview-summary.html" target="_blank">JDOM Java Docs</a><strong>] :</strong></span></p>
<p><span style="text-decoration:underline;"><strong>SAXBuilder</strong></span> :  Builds a JDOM document from files, streams, readers, URLs, or a SAX <code>InputSource</code> instance using a SAX parser. The builder uses a  third-party SAX parser (chosen by JAXP by default, or you can choose  manually) to handle the parsing duties and simply listens to the SAX events  to construct a document.<br />
<span style="text-decoration:underline;"><strong>SAXHandler</strong></span> : This will create a new <code>SAXHandler</code> that listens to SAX  events and creates a JDOM Document.  The objects will be constructed  using the default factory.<br />
<span style="text-decoration:underline;"><strong>SAXOutputter</strong></span> :  Outputs a JDOM document as a stream of SAX2 events.</p>
<p><span style="text-decoration:underline;"><strong>DOMBuilder</strong></span> :  Builds a JDOM <a title="class in org.jdom" href="http://www.jdom.org/docs/apidocs/org/jdom/Document.html"><code>org.jdom.Document</code></a> from a pre-existing  DOM <code>org.w3c.dom.Document</code>. Also handy for testing  builds from files to sanity check <a title="class in org.jdom.input" href="http://www.jdom.org/docs/apidocs/org/jdom/input/SAXBuilder.html"><code>SAXBuilder</code></a>.<br />
<span style="text-decoration:underline;"><strong>DOMOutputter</strong></span> :  Outputs a JDOM <a title="class in org.jdom" href="http://www.jdom.org/docs/apidocs/org/jdom/Document.html"><code>org.jdom.Document</code></a> as a DOM <code>org.w3c.dom.Document</code>.</p>
<p><span style="text-decoration:underline;"><strong>XSLTransformer</strong></span> : A convenience class to handle simple transformations. The JAXP TrAX classes have more bells and whistles and can be used with JDOMSource and JDOMResult for advanced uses. This class handles the common case and presents a simple interface. XSLTransformer is thread safe and may be used from multiple threads.</p>
<p>XSLTransformer transformer = new XSLTransformer(&#8221;file.xsl&#8221;);</p>
<p>Document x2 = transformer.transform(x);  // x is a Document<br />
Document y2 = transformer.transform(y);  // y is a Document</p>
<p>JDOM relies on TrAX to perform the transformation. The &#8220;<strong>javax.xml.transform.TransformerFactory</strong>&#8221; Java system property determines which XSLT engine TrAX uses. Its value should be the fully qualified name of the implementation of the abstract javax.xml.transform.TransformerFactory class. Values of this property for popular XSLT processors include:</p>
<p>* Saxon 6.x: com.icl.saxon.TransformerFactoryImpl<br />
* Saxon 7.x: net.sf.saxon.TransformerFactoryImpl<br />
* Xalan: org.apache.xalan.processor.TransformerFactoryImpl</p>
<p><span style="text-decoration:underline;"><strong>JDOMSource</strong></span> :  A holder for an XML Transformation source: a Document, Element, or list of  nodes.<br />
public static List transform(Document doc, String stylesheet) throws JDOMException {<br />
try {<br />
Transformer transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(stylesheet));<br />
JDOMSource in = new JDOMSource(doc);<br />
JDOMResult out = new JDOMResult();<br />
transformer.transform(in, out);<br />
return out.getResult();<br />
}<br />
catch (TransformerException e) {<br />
throw new JDOMException(&#8221;XSLT Transformation failed&#8221;, e);<br />
}<br />
}</p>
<p><span style="text-decoration:underline;"><strong>JDOMResult</strong></span> :  A holder for an XSL Transformation result, generally a list of nodes  although it can be a JDOM Document also. As stated by the XSLT 1.0  specification, the result tree generated by an XSL transformation is not  required to be a well-formed XML document. The result tree may have &#8220;any  sequence of nodes as children that would be possible for an  element node&#8221;.</p>
<p><span style="text-decoration:underline;"><strong>Sample programs :</strong></span></p>
<p>All the examples uses the sample file &#8220;plugin.xml&#8221; in &#8220;c:\&#8221; directory.</p>
<p>#1 Create  a document and output it via the XMLOutputter class.</p>
<blockquote>
<pre>package com.suresh.xml.jdom;

import java.io.File;
import java.io.IOException;

import org.jdom.Document;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;

public class TestJDOMOutputter {

    public static void main(String[] args) {
        try {
            // This SAXBuilder looks for the default SAXParsers, parses and builds the XML.
            // The default behavior is to (1) use the saxDriverClass, if it has been
            // set, (2) try to obtain a parser from JAXP, if it is available, and
            // (3) if all else fails, use a hard-coded default parser (currently
            // the Xerces parser).
            // SaxBuilder -&gt; JAXPParserFactory -&gt; SAXParserFactory -&gt;
            // com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl or
            // org.apache.xerces.jaxp.SAXParserFactoryImpl

            SAXBuilder builder = new SAXBuilder();
            Document document = builder.build(new File("c:\\plugin.xml"));
            XMLOutputter outputter = new XMLOutputter();
            outputter.output(document, System.out);
        } catch (JDOMException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}</pre>
</blockquote>
<p>#2 Traverse the entire tree and print the node statistics</p>
<blockquote>
<pre>package com.suresh.xml.jdom;

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import org.jdom.Comment;
import org.jdom.DocType;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.ProcessingInstruction;
import org.jdom.Text;
import org.jdom.input.SAXBuilder;

public class TestJDOMTraverseTree {

    public static void main(String[] args) {
        SAXBuilder builder = new SAXBuilder();
        try {
            Document doc = builder.build(new File("c:\\plugin.xml"));
            traverseXMLTree(doc.getContent());

            Element rootElement = doc.getRootElement();
            String baseURI = doc.getBaseURI();
            DocType docType = doc.getDocType();
            // this gives the file path "file:/c:/plugin.xml"
            System.out.println("base URI : " + baseURI);
            // this is "plugin" element
            System.out.println("RootElement : " + rootElement.getName());
            // if it has a doctype then get the info
            if (docType != null) {
                System.out.println("DocType : " + docType.getElementName() + " : " + docType.getPublicID() +
                        " : " + docType.getSystemID() + " : " + docType.getValue());
            }
        } catch (JDOMException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static void traverseXMLTree(List&lt;Object&gt; contentList) {
        Iterator&lt;Object&gt; contentIter = contentList.iterator();
        while (contentIter.hasNext()) {
            Object obj = contentIter.next();
            if (obj instanceof Element) {
                Element element = (Element) obj;
                System.out.println("Element Name[" + element.getContentSize() + "] : " + element.getName());
                traverseXMLTree(element.getContent());
            } else if (obj instanceof ProcessingInstruction) {
                ProcessingInstruction pi = (ProcessingInstruction) obj;
                System.out.println("PI as seen in Doc : &lt;?" +  pi.getTarget() + " " + pi.getData() + "?&gt;");
            } else if (obj instanceof Text) {
                Text text = (Text) obj;
                if (text != null &amp;&amp; text.getText() != null &amp;&amp; text.getTextTrim().length() &gt; 0) {
                    System.out.println("Text : " + text.getTextTrim());
                }
            } else if (obj instanceof Comment) {
                Comment comment = (Comment) obj;
                System.out.println("Comment : " + comment.getValue());
            }
        }
    }

}</pre>
</blockquote>
<p>Example plugin.xml file used in the above examples :</p>
<blockquote>
<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;?eclipse version="3.0"?&gt;
&lt;plugin
   id="com.example.eclipseTools"
   name="Tools Plug-in"
   version="1.0.0"
   provider-name="Example"
   class="com.example.eclipse.EclipseToolsPlugin"&gt;
   &lt;runtime&gt;
      &lt;library name="tools/tools-2.2.0-SNAPSHOT.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="tools/lib/velocity-1.4.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/shared-2.2.0-SNAPSHOT.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/c3p0-0.9.0.4.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/cglib-2.1.3.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/commons-beanutils-1.6.1.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/commons-collections-2.1.1.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/commons-logging-1.0.4.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/dom4j-1.6.1.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/ehcache-1.1.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/hibernate-3.1.3.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/junit-3.8.1.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/log4j-1.2.11.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/xstream-1.2.1.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="jta.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/asm-1.5.3.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/asm-attrs-1.5.3.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="eclipseTools.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="tools/lib/qdox-1.6.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/antlr-2.7.6.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/commons-lang-2.2.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/jaxen-1.1.1.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
      &lt;library name="shared/lib/ojdbc14-10.2.0.3.jar"&gt;
         &lt;export name="*"/&gt;
      &lt;/library&gt;
   &lt;/runtime&gt;
   &lt;requires&gt;
      &lt;import plugin="org.eclipse.ui"/&gt;
      &lt;import plugin="org.eclipse.core.resources"/&gt;
      &lt;import plugin="org.eclipse.core.runtime"/&gt;
      &lt;import plugin="org.eclipse.jdt.ui"/&gt;
      &lt;import plugin="org.eclipse.jdt.core"/&gt;
   &lt;/requires&gt;
   &lt;extension
         point="org.eclipse.ui.preferencePages"&gt;
      &lt;page
            class="com.example.eclipse.preferences.SPLPreferencePage"
            name="Example Preferences"
            id="com.example"/&gt;
      &lt;page
            category="com.example"
            class="com.example.eclipse.database.preferences.PreferencePage"
            id="com.example.eclipseTools.database.preferences.PreferencePage"
            name="Database Connection Preferences"/&gt;
   &lt;/extension&gt;
   &lt;extension
         point="org.eclipse.ui.propertyPages"&gt;
      &lt;page
            class="com.example.eclipse.properties.ProjectPropertyPage"
            id="com.example.eclipse.properties.ProjectPropertyPage"
            name="Example Database Properties"
            objectClass="org.eclipse.jdt.core.IJavaProject"/&gt;
   &lt;/extension&gt;
   &lt;!-- This is a Comment --&gt;
   &lt;/plugin&gt;</pre>
</blockquote>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sureshkrishna.wordpress.com/112/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sureshkrishna.wordpress.com/112/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sureshkrishna.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sureshkrishna.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sureshkrishna.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sureshkrishna.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sureshkrishna.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sureshkrishna.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sureshkrishna.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sureshkrishna.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sureshkrishna.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sureshkrishna.wordpress.com/112/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sureshkrishna.wordpress.com&blog=579603&post=112&subd=sureshkrishna&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sureshkrishna.wordpress.com/2008/06/09/jdom-quick-reference/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/sureshkrishna-128.jpg" medium="image">
			<media:title type="html">sureshkrishna</media:title>
		</media:content>
	</item>
		<item>
		<title>Save time with Pulse 2.1</title>
		<link>http://sureshkrishna.wordpress.com/2008/05/14/save-time-with-pulse-21/</link>
		<comments>http://sureshkrishna.wordpress.com/2008/05/14/save-time-with-pulse-21/#comments</comments>
		<pubDate>Wed, 14 May 2008 17:25:44 +0000</pubDate>
		<dc:creator>sureshkrishna</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[Plug-ins]]></category>

		<category><![CDATA[Plugin]]></category>

		<category><![CDATA[Pulse]]></category>

		<guid isPermaLink="false">http://sureshkrishna.wordpress.com/?p=109</guid>
		<description><![CDATA[Pulse has been of a great help for me personally to manage versions, plugins and to share profiles. It is a great sign of relief to many developers and also corporates as it eased the plugin configuration.]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Pulse has been of a great help for me personally to manage versions, plugins and to share profiles. It is a great sign of relief to many developers and also corporates as it <a href="http://sureshkrishna.wordpress.com/2007/11/28/did-you-check-your-pulse/" target="_blank">eased the plugin configuration</a>. I quickly checked with the new pulse release and its very interesting and matured a lot. Following are some interesting features that i noticed with <a href="http://www.poweredbypulse.com/download_win.php" target="_blank">Pulse 2.1</a> &#8230;</p>
<ul>
<li>Seamless support (Select -&gt; Add -&gt; Done) for building a customized eclipse config</li>
<li>Features selection automatically prompts for the related software. This is especially useful when we want to customize the features getting added to the Eclipse Configuration.</li>
<li>Improved set of plugins support (Add-On Software -&gt; Browse Categories)</li>
<li>Improved UI interactions and Response Time</li>
<li>And finally <a href="http://www.poweredbypulse.com/freelance.php" target="_blank">Pulse Freelance</a> seems to be a nice value added feature for corporates. According to the features description, i understand that the organizations would be able to add their custom / specific plugins to the catalog, share the configuration with development groups or individuals and have a private update site.</li>
</ul>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/05/pulse2.png"><img class="size-medium wp-image-110 alignleft" style="float:left;" src="http://sureshkrishna.files.wordpress.com/2008/05/pulse2.png?w=300&h=291" alt="Addition Plugin Categories" width="300" height="291" /></a></p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/05/pulse1.png"> <img class="size-medium wp-image-111 alignright" style="float:right;" src="http://sureshkrishna.files.wordpress.com/2008/05/pulse1.png?w=300&h=240" alt="Related Plugins" width="300" height="240" /></a></p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/05/pulse1.png"></a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sureshkrishna.wordpress.com/109/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sureshkrishna.wordpress.com/109/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sureshkrishna.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sureshkrishna.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sureshkrishna.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sureshkrishna.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sureshkrishna.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sureshkrishna.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sureshkrishna.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sureshkrishna.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sureshkrishna.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sureshkrishna.wordpress.com/109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sureshkrishna.wordpress.com&blog=579603&post=109&subd=sureshkrishna&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sureshkrishna.wordpress.com/2008/05/14/save-time-with-pulse-21/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/sureshkrishna-128.jpg" medium="image">
			<media:title type="html">sureshkrishna</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/05/pulse2.png?w=300" medium="image">
			<media:title type="html">Addition Plugin Categories</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/05/pulse1.png?w=300" medium="image">
			<media:title type="html">Related Plugins</media:title>
		</media:content>
	</item>
		<item>
		<title>MoinMoin setup in easy steps</title>
		<link>http://sureshkrishna.wordpress.com/2008/04/25/moinmoin-setup-made-simple/</link>
		<comments>http://sureshkrishna.wordpress.com/2008/04/25/moinmoin-setup-made-simple/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 21:57:01 +0000</pubDate>
		<dc:creator>sureshkrishna</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[apache]]></category>

		<category><![CDATA[moinmoin]]></category>

		<category><![CDATA[setup]]></category>

		<category><![CDATA[upgrade]]></category>

		<category><![CDATA[Wiki]]></category>

		<category><![CDATA[windows xp]]></category>

		<guid isPermaLink="false">http://sureshkrishna.wordpress.com/?p=108</guid>
		<description><![CDATA[Wikis are a nice way to collaborate in an organizational environment. There are several wikis available in the market and thanks to the wikimatrix, which makes it easy to decide. Recently i did an exercise to install and upgrade the MoinMoin wiki. Listed are ALL the important steps that one can use to SUCCESSFULLY install [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Wikis are a nice way to collaborate in an organizational environment. There are several wikis available in the market and thanks to the <a href="http://sureshkrishna.wordpress.com/2008/03/04/wikis-for-your-organization/" target="_blank">wikimatrix</a>, which makes it easy to decide. Recently i did an exercise to install and upgrade the MoinMoin wiki. Listed are ALL the important steps that one can use to SUCCESSFULLY install and upgrade a wiki.</p>
<p>The infrastructure is a pretty simple. Windows XP, Apache Server, Intranet Environment, Latest Python and MoinMoin. I hope the following steps are very simple and enables everyone installing on Win XP and Apache to have a smooth setup process.</p>
<p><span style="text-decoration:underline;"><strong>Note</strong></span> : This is not meant to have comprehensive setup instructions. For full help and installation instructions please look into the http://www.moinmo.in</p>
<p><span style="text-decoration:underline;"><strong>Pre-Requisites</strong></span></p>
<ul>
<li>Download latest MoinMoin [http://www.moinmo.in/MoinMoinDownload]</li>
<li>Download latest UnZip/Zip SW [http://www.rarlab.com/download.htm]</li>
<li>Download latest Python [http://www.python.org]</li>
<li>Download latest EditPlus [http://www.editplus.com]</li>
<li>Download latest Apache Server [http://httpd.apache.org/download.cgi]</li>
</ul>
<p><span style="text-decoration:underline;"><strong>Example Paths</strong></span></p>
<ul>
<li>Python Installation : C:\WikiSetup\Python252</li>
<li>MoinMoin Installation : C:\WikiSetup\moin-1.6.3</li>
<li>Utilities Instance : C:\WikiSetup\MyCompanyMoinMoin</li>
<li>MyWiki : C:\WikiSetup\MyCompanyMoinMoin\myCompanyWiki</li>
</ul>
<p><span style="text-decoration:underline;"><strong>Install Python</strong></span></p>
<ul>
<li>Install Python</li>
<li>Set the system path to Python.exe. This is not necessary, but helps you to execute python from everywhere.</li>
<li>Goto the cmd and type python. Python starts and shown the version.
<ul>
<li><em>python -V</em></li>
</ul>
<ul>
<li> Exit this by <em>Ctrl+Z</em> and then <em>Enter</em> key.</li>
</ul>
</li>
</ul>
<p><span style="text-decoration:underline;"><strong>Install Apache Server</strong></span></p>
<ul>
<li>Make sure after the installation the server is started. This can be tested by launching the IE/FF/SF/.. and goto URL http://localhost. The browser should say &#8220;It Works!&#8221;.</li>
<li>If needed the server port can be changed to something that you like and safe. e.g. 1111, 2222 or 9999</li>
</ul>
<p><span style="text-decoration:underline;"><strong>Install MoinMoin</strong></span></p>
<ul>
<li><em>cd C:\WikiSetup\moin-1.6.3</em></li>
<li><em>python setup.py &#8211;quiet install &#8211;prefix=&#8221;C:\WikiSetup\MyCompanyMoinMoin&#8221; &#8211;record=install.log</em></li>
<li>Look for any errors in &lt;C:\WikiSetup\moin-1.6.3\install.log&gt;. If this has errors, go for a coffee and try again.</li>
<li>Wether the installation is successful or not can be checked as follows. On the command prompt type &#8220;python&#8221; and then &#8220;import MoinMoin&#8221;.</li>
<li> This should not produce any messages and it just comes out.
<ul>
<li><em> C:\WikiSetup\moin-1.6.3&gt;python</em></li>
<li><em> Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on win32</em></li>
<li><em> Type &#8220;help&#8221;, &#8220;copyright&#8221;, &#8220;credits&#8221; or &#8220;license&#8221; for more information.</em></li>
<li><em> &gt;&gt;&gt; import MoinMoin</em></li>
<li><em> &gt;&gt;&gt;</em></li>
</ul>
</li>
<li><span style="text-decoration:underline;"><strong>Note</strong></span> : It is not necessary to change ANY of the configuration or files from the original MoinMoin installation &lt;C:\WikiSetup\moin-1.6.3&gt;.</li>
<li>Change the file &lt;C:\WikiSetup\MyCompanyMoinMoin\share\moin\server\moin.cgi&gt; to insert the MoinMoin library path.
<ul>
<li> <em>#!C:\WikiSetup\Python252\python.exe</em></li>
</ul>
</li>
<li>Path of the directory where <strong>wikiconfig.py</strong> is located.
<ul>
<li><em> # YOU NEED TO CHANGE THIS TO MATCH YOUR SETUP.</em></li>
<li><em> # sys.path.insert(0, &#8216;/path/to/wikiconfig&#8217;)</em></li>
<li><em> sys.path.insert(0, r&#8217;C:/WikiSetup/MyCompanyMoinMoin/share/moin/config&#8217;);</em></li>
<li><em> # Path to MoinMoin package, needed if you installed with &#8211;prefix=PREFIX</em></li>
<li><em> # or if you did not use setup.py.</em></li>
<li><em> ## sys.path.insert(0, &#8216;PREFIX/lib/python2.3/site-packages&#8217;)</em></li>
<li><em> sys.path.insert(0, r&#8217;C:/WikiSetup/MyCompanyMoinMoin/Lib/site-packages&#8217;)</em></li>
</ul>
</li>
</ul>
<p><span style="text-decoration:underline;"><strong>Create the myCompanyWiki Instance</strong></span></p>
<ul>
<li>Create the directory &#8220;<strong>myCompanyWiki</strong>&#8221; under C:\WikiSetup\MyCompanyMoinMoin
<ul>
<li><em> cd C:\WikiSetup\MyCompanyMoinMoin\share\moin</em></li>
<li><em> xcopy data        C:\WikiSetup\MyCompanyMoinMoin\myCompanyWiki\data /E</em></li>
<li><em> xcopy underlay    C:\WikiSetup\MyCompanyMoinMoin\myCompanyWiki\underlay /E</em></li>
<li><em> copy  config\*.*  C:\WikiSetup\MyCompanyMoinMoin\myCompanyWiki\*.*</em></li>
<li><em> copy  server\*.*  C:\WikiSetup\MyCompanyMoinMoin\myCompanyWiki\*.*</em></li>
</ul>
</li>
<li>Configuring <strong>wikiconfig.py</strong>
<ul>
<li><em> sitename = u&#8217;My Company Wiki&#8217;</em></li>
<li><em> logo_string = u&#8217;&lt;img src=&#8221;/wiki/common/mycompany.png&#8221; alt=&#8221;My Company Logo&#8221;&gt;&#8217;</em></li>
<li><em> page_front_page = u&#8221;FrontPage&#8221;</em></li>
<li><em> data_dir = &#8216;C:/WikiSetup/MyCompanyMoinMoin/myCompanyWiki/data&#8217;</em></li>
<li><em> data_underlay_dir = &#8216;C:/WikiSetup/MyCompanyMoinMoin/myCompanyWiki/underlay&#8217;</em></li>
<li><em> url_prefix_static = &#8216;/wiki&#8217;</em></li>
<li><em> allowed_actions = ['DeletePage', 'AttachFile', 'RenamePage', ]</em></li>
<li><em># If you will not be running a Wiki farm (if you&#8217;re not sure what this means, then you probably won&#8217;t be), make sure to delete the farmconfig.py file from the C:\Moin\mywiki directory, or else moin.cgi will most likely give off various errors (including one about not being able to find a configuration file) and will ultimately fail to start up properly</em></li>
</ul>
</li>
<li>Configuring <strong>moin.cgi</strong>. Change the moin.cgi to contain the following lines of script.
<ul>
<li><em> #!C:\WikiSetup\Python252\python.exe</em></li>
<li><em> sys.path.insert(0, r&#8217;C:/WikiSetup/MyCompanyMoinMoin/myCompanyWiki&#8217;);</em></li>
<li><em> sys.path.insert(0, r&#8217;C:/WikiSetup/MyCompanyMoinMoin/Lib/site-packages&#8217;)</em></li>
</ul>
</li>
<li>Configuring Apache <strong>httpd.conf. </strong>Add exactly as shown below. Nothing more nothing less.
<ul>
<li>Its common to have the 80 port already ruinning. Or in some of the corporates this is taken by the Anti-Virus programs. So i would suggest to have your own port for Wiki.</li>
</ul>
<ul>
<li><em> Listen xxx.xxx.xxx.xxx:1234</em></li>
<li>The Alias is used to point all the static content like, images, css etc&#8230;</li>
<li><em> Alias        /wiki/   &#8220;C:/WikiSetup/MyCompanyMoinMoin/share/moin/htdocs/&#8221;</em></li>
<li>Script Alias points to the newly created Wiki Instance. This kicks up the entire Wiki as i understand.</li>
<li><em> ScriptAlias  /myCompanyWiki &#8220;C:/WikiSetup/MyCompanyMoinMoin/myCompanyWiki/moin.cgi&#8221;</em></li>
<li>Following directories need to accessible by the server</li>
<li><em> &lt;Directory &#8220;C:/WikiSetup/MyCompanyMoinMoin/share/moin/htdocs/&#8221;&gt;</em>
<ul>
<li><em> AllowOverride None</em></li>
<li><em> Options None</em></li>
<li><em> Order allow,deny</em></li>
<li><em> Allow from all</em></li>
</ul>
</li>
<li><em> &lt;/Directory&gt;</em></li>
<li><em> &lt;Directory &#8220;C:/WikiSetup/MyCompanyMoinMoin/myCompanyWiki/&#8221;&gt;</em>
<ul>
<li><em> AllowOverride None</em></li>
<li><em> Options None</em></li>
<li><em> Order allow,deny</em></li>
<li><em> Allow from all</em></li>
</ul>
</li>
<li><em> &lt;/Directory&gt;</em></li>
</ul>
</li>
<li>Add following css content in C:\WikiSetup\MyCompanyMoinMoin\share\moin\htdocs\modern\css. This might help you to have some kind of good looking headers. Of course you can change this style if you dont like.
<ul>
<li><em> h1, h2, h3, h4, h5, h6 {</em>
<ul>
<li><em> background-color:#E7E7E7;</em></li>
<li><em> border-style:none;</em></li>
<li><em> border-width:thin;</em></li>
<li><em> font-family:sans-serif;</em></li>
<li><em> margin-bottom:8pt;</em></li>
<li><em> margin-top:2pt;</em></li>
<li><em> font-size:150%;</em></li>
<li><em> padding-left:0.4%;</em></li>
<li><em> width:99.6%;</em></li>
</ul>
</li>
<li><em> }</em></li>
</ul>
</li>
</ul>
<p><span style="text-decoration:underline;"><strong>Check Wiki Instance</strong></span></p>
<ul>
<li>start/restart the apache server with the desired port</li>
<li>enter the url http://xxx.xxx.xxx.xxx:1234/myCompanyWiki This should show the startpage of the Wiki</li>
</ul>
<p><span style="text-decoration:underline;"><strong>Data Migraiton</strong></span> :</p>
<p>Data migration might be necessary, if you have existing wiki and you would want to enhance the wiki engine and data. Sometimes this could be the most painful process in the entire wiki setup (at least for me).</p>
<ul>
<li># Before doing the migration, please check if the MoinMoin module is available to command prompt.</li>
<li># Copy the data directory from the existing wiki installation.</li>
<li> &#8216;your\old\MoinMoin\Wiki\data&#8217; to C:\WikiSetup\MyCompanyMoinMoin\Lib\site-packages\MoinMoin\script\old\migration</li>
<li># And start running all the scripts. All means ALL. If you encounter any errors make sure that you correct all of them.</li>
<li># Migrate Post 5.3 Data :</li>
<li><em> C:\WikiSetup\MyCompanyMoinMoin\Lib\site-packages\MoinMoin\script\moin.py &#8211;config-dir=C:\WikiSetup\MyCompanyMoinMoin\myCompanyWiki &#8211;wiki-url=http://xxx.xxx.xxx.xxx:1234/myCompanyWiki/ migration data</em></li>
</ul>
<p><span style="text-decoration:underline;"><strong>HTML Dump</strong></span></p>
<p>Many a times we want to export some of the pages or all of the wiki pages as documentation to the developers, sales or to the customers. This HTML Dump works handy in these cases. This feature is a fresh breath in life (i was using MoinMoin 1.2.1 before i migrated).</p>
<ul>
<li><em><strong>C:\WikiSetup\MyCompanyMoinMoin\Lib\site-packages\MoinMoin\script\moin.py &#8211;config-dir=C:\tmp\MOINWIKI\share\moin\matrix &#8211;wiki-url=http://xxx.xxx.xxx.xxx:1234/myCompanyWiki/ export dump &#8211;target-dir=C:\tmp\myWikiDataDump</strong></em></li>
<li>Once the Dump is done. Copy the *.* from <strong>&#8220;C:/WikiSetup/MyCompanyMoinMoin/share/moin/htdocs&#8221;</strong> to &#8220;<strong>C:\tmp\myWikiDataDump</strong>&#8220;. This would apply all the &#8220;css&#8221; to the htmls.</li>
</ul>
<p><span style="text-decoration:underline;"><strong>User Access Control</strong></span></p>
<p>The Wiki i setup, works in an intranet. I would like to have all the users to have the read, write, revert and delete access. Only the SuperUser has the admin capability. So my configuration is as follows.</p>
<ul>
<li><em>superuser = [u"sureshkrishna", ]</em></li>
<li><em>acl_rights_before = u&#8221;sureshkrishna:read,write,delete,revert,admin&#8221;</em></li>
<li><em>acl_rights_default = u&#8221;All:read,write,delete,revert&#8221;</em></li>
</ul>
<p><span style="text-decoration:underline;"><strong>References:</strong></span></p>
<ul>
<li>Wiki For you : http://sureshkrishna.wordpress.com/2008/03/04/wikis-for-your-organization</li>
<li>MoinMoin Download : http://www.moinmo.in/MoinMoinDownload</li>
<li>MoinMoin Installation : http://www.moinmo.in/HelpOnInstalling</li>
<li>MoinMoin Configuration : http://www.moinmo.in/HelpOnConfiguration</li>
<li>MoinMoin Administration : http://www.moinmo.in/HelpOnAdministration</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sureshkrishna.wordpress.com/108/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sureshkrishna.wordpress.com/108/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sureshkrishna.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sureshkrishna.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sureshkrishna.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sureshkrishna.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sureshkrishna.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sureshkrishna.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sureshkrishna.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sureshkrishna.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sureshkrishna.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sureshkrishna.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sureshkrishna.wordpress.com&blog=579603&post=108&subd=sureshkrishna&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sureshkrishna.wordpress.com/2008/04/25/moinmoin-setup-made-simple/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/sureshkrishna-128.jpg" medium="image">
			<media:title type="html">sureshkrishna</media:title>
		</media:content>
	</item>
		<item>
		<title>Why should you Jazz ?</title>
		<link>http://sureshkrishna.wordpress.com/2008/04/04/why-should-you-jazz/</link>
		<comments>http://sureshkrishna.wordpress.com/2008/04/04/why-should-you-jazz/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 05:21:07 +0000</pubDate>
		<dc:creator>sureshkrishna</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[ibm]]></category>

		<category><![CDATA[jazz]]></category>

		<category><![CDATA[rational]]></category>

		<guid isPermaLink="false">http://sureshkrishna.wordpress.com/?p=104</guid>
		<description><![CDATA[Jazz is a technology platform from IBM. Its based on the client-server technology and manages the source management, build tools and promotes the team collaboration. Once of the great aspect of this platform is that its built with Team Collaboration in mind. Well&#8230; this makes a lot of difference in the corporate and product development [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.jazz.net" target="_blank">Jazz </a>is a technology platform from <a href="http://www.ibm.com" target="_blank">IBM</a>. Its based on the client-server technology and manages the source management, build tools and promotes the team collaboration. Once of the great aspect of this platform is that its built with Team Collaboration in mind. Well&#8230; this makes a lot of difference in the corporate and product development environment.</p>
<p>Not to get confused, <a href="http://www.jazz.net" target="_blank">IBM Rational Team Concert</a> is the first product based on the Jazz Platform. Team Concert is based on <a href="http://www.eclipse.org" target="_blank">Eclipse </a>and related technologies. By basing the Team Concert on Eclipse proves &#8220;<a href="http://sureshkrishna.wordpress.com/2007/12/16/eclipse-as-a-platform/" target="_blank">Eclipse as a Platform</a>&#8220;.  Team Concert is available for free to download and play with. Not sure if Rational would want to make money in future and also how the licensing mechanism works for the Jazz and Team Concert for the enterprises.</p>
<p>I am truly impressed with the workshop that <a href="http://www.sureshkrishna.com" target="_blank">me</a> and Peter Kirschner (a colleagues of mine from <a href="http://www.bosch.com" target="_blank">Robert Bosch</a>, Germany) attended at <a href="http://www.eclipsecon.org/2008/" target="_blank">EclipseCon2008</a>. Starting with the presentation of <a href="https://jazz.net/blog/index.php/2008/03/19/eclipsecon-2008-report-erich-gamma-on-developing-software-like-a-band-plays-jazz/" target="_blank">Erich Gamma</a>, <a href="https://jazz.net/blog/index.php/2008/03/19/eclipsecon-2008-report-jean-michel-lemieux-on-source-control-in-jazz/" title="Jean-Michel Lemieux on Source Control in Jazz">Jean-Michel</a>, <a href="https://jazz.net/blog/index.php/2008/03/19/eclipsecon-2008-report-kai-uwe-maetzel-on-what-if-your-tools-knew-your-team/" title="Kai-Uwe Maetzel on What if your tools knew your team?">Kai-Uwe Maetzel</a> and <a href="https://jazz.net/blog/index.php/2008/03/20/eclipsecon-2008-report-john-wiegand-on-influence-of-digital-communities-on-software-development/" target="_blank">John Wiegand</a> gave a very good overview of the Platform and ideas behind it. Soon after <a href="http://sureshkrishna.wordpress.com/2008/03/21/eclipsecon-2008-i-loved-it/" target="_blank">EclipseCon</a>, i downloaded and started playing with it. My colleagues at Bosch says he gets response in matter of minutes. But i have a different opinion. Perhaps i am JUST a developer.</p>
<p>All the corporates that i worked for have similar problems. Especially i worked for the tool development departments and you can see the same patterns every where. We have Process, Methods and Tools departments and they always were three <b>DIFFERENT </b>departments. <i><b>Developers always wanted to have Simple Processes, Unified Methods and Integrated Tools.</b></i> But this never happens. It is good to have different people to concentrate on different problems, but at the same time they need to collaborate to solve these problems. I am sure, for many of the readers the bell rings&#8230; <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Software development needs different facets to fit in a co-ordinated way. <i>Requirements Management, Design, Project Management, Source Management, <a href="http://sureshkrishna.wordpress.com/2007/09/11/eclipse-cvs-jira-is-all-i-need-for-my-development-team/" target="_blank">Issue Management</a>, Process Management, Build Tools and Collaboration</i> are some of the aspects of the software development. The biggest challenge for any corporate is to have an integrated platform where all the processes and tools come together.</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/04/enterprisetooldevelopment.jpg" title="Process Integration"></a></p>
<div style="text-align:center;"><a href="http://sureshkrishna.files.wordpress.com/2008/04/enterprisetooldevelopment.jpg" title="Process Integration"><img src="http://sureshkrishna.files.wordpress.com/2008/04/enterprisetooldevelopment.jpg" alt="Process Integration" /></a></div>
<p>From the organization point of view, its necessary to integrate the Process, Methods and Tools. However till now it was not possible to have several methods and tools integrated into a single environment. Its not because of technology, but because we need a framework/platform that supports this kind of integration.</p>
<p>After attending the Jazz workshop and once i played with Jazz a little bit, this platform seems to be a PLAUSIBLE solution for some of the unsolved problems in software development. It has an easy to setup a Team Repository, can assign users to this repository with the security permissions, etc&#8230; For me it looks like they picked up best of the breed features into the Jazz&#8217;s Source Control system. Some of the similar concepts like changelists from <a href="www.perforce.com" target="_blank">Perforce</a>, powerful branching, merging and multi-site functionality from <a href="http://www.ibm.com/software/awdtools/clearcase/" target="_blank">Clearcase </a>and what i love is the concept of branching, merging are all transparent to the developer. You need to concentrate on the <b>REAL </b>work. Like development, release trains, fixing bugs, etc&#8230; and not how to branch for a new release version and how to merge into the main branch &#8230;.. all these tasks are managed (apparently) by Jazz platform.</p>
<p>Team collaboration is amazing. I really liked the example conversation to setup a project, that Erich presented at the <a href="http://www.eclipsecon.org/2008/" target="_blank">EclipseCon2008</a>.  The problem is universal&#8230; find the projects you want to checkout, find the repository path, see if you have permission to the repository, find if you can get specified projects, how to build the projects, which are the dependent modules, which jars should i build before i do anything&#8230;&#8230;..the list is endless.  How cool would it be if all the above tasks are taken by your development environment. Of course, we have been doing software development and system development all the while by spending time, communication effort and finally frustration when nothing works.</p>
<p>As a project manager, its is very logical that i might not use heavy development tools. So you have the web interface to get a complete overview and detailed artifacts about the project. The web interface is sophisticated with the AJAX functionality and as i have seen, its quite responsive. Different charts, reports on the individual team level and project level can be obtained.</p>
<p>The entire work flow at the development time can  be controlled with the help of the process templates. We want to eliminate all possible errors in the initial stages so that verification and review process can be reduced.  A developer might not keep a comment before he commits a piece of code, code can not be checked in unless it is reviewed by senior developer, etc&#8230; In my previous experiences, we managed all these rules with the help of perl / shell scripts at the source control side. This is a nice capability of the Jazz to be able to integrate the Process Management in to the environment.</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/04/jazztooldevelopment.jpg" title="Jazz ??"></a></p>
<div style="text-align:center;"><a href="http://sureshkrishna.files.wordpress.com/2008/04/jazztooldevelopment.jpg" title="Jazz ??"><img src="http://sureshkrishna.files.wordpress.com/2008/04/jazztooldevelopment.jpg" alt="Jazz ??" /></a></div>
<p>The above picture probably is what i believe that Jazz could do. I really see this as a potential enterprise infrastructure for software development. I am hoping that this project would bring out a lot of happy smiles though i am little skeptical about the licensing mechanism.</p>
<p>Many of you would have had similar problems i mentioned and i hope you might find Jazz to be a potential solution. I would love to hear interesting points from you. By now, i hope you know &#8220;Why you should Jazz ?&#8221;.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sureshkrishna.wordpress.com/104/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sureshkrishna.wordpress.com/104/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sureshkrishna.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sureshkrishna.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sureshkrishna.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sureshkrishna.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sureshkrishna.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sureshkrishna.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sureshkrishna.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sureshkrishna.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sureshkrishna.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sureshkrishna.wordpress.com/104/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sureshkrishna.wordpress.com&blog=579603&post=104&subd=sureshkrishna&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sureshkrishna.wordpress.com/2008/04/04/why-should-you-jazz/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/sureshkrishna-128.jpg" medium="image">
			<media:title type="html">sureshkrishna</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/04/enterprisetooldevelopment.jpg" medium="image">
			<media:title type="html">Process Integration</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/04/jazztooldevelopment.jpg" medium="image">
			<media:title type="html">Jazz ??</media:title>
		</media:content>
	</item>
		<item>
		<title>My JDeveloper Training</title>
		<link>http://sureshkrishna.wordpress.com/2008/03/27/my-jdeveloper-training/</link>
		<comments>http://sureshkrishna.wordpress.com/2008/03/27/my-jdeveloper-training/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 23:36:10 +0000</pubDate>
		<dc:creator>sureshkrishna</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[JDeveloper]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[ADF]]></category>

		<guid isPermaLink="false">http://sureshkrishna.wordpress.com/?p=103</guid>
		<description><![CDATA[I have been undergoing the Oracle ADF and JDeveloper training for a future project. It was pretty hard for me to accept that i am undergoing this training considering my strong belief in eclipse-as-a-platform. I started the training by asking, if all/many of the JDeveloper features are available in Eclipse and soon realized that JDeveloper [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I have been undergoing the <a href="http://www.oracle.com/technology/products/adf/index.html" target="_blank">Oracle ADF</a> and <a href="http://www.oracle.com/technology/products/jdev/index.html" target="_blank">JDeveloper</a> training for a future project. It was pretty hard for me to accept that i am undergoing this training considering my strong belief in <a href="http://sureshkrishna.wordpress.com/2007/12/16/eclipse-as-a-platform/" target="_blank">eclipse-as-a-platform</a>. I started the training by asking, if all/many of the JDeveloper features are available in Eclipse and soon realized that JDeveloper does have a strong set of database feature set.</p>
<p>There are some discrete set of database features that are available for Eclipse. These 2 projects do provide good plugins to improve the productivity of the database developer on Eclipse.</p>
<ul>
<li><a href="http://www.eclipse.org/webtools/dali/main.php" target="_blank">Dali JPA Tools</a></li>
<li><a href="http://www.eclipse.org/eclipselink/" target="_blank">Eclipse Link Project</a></li>
</ul>
<p>OK, but dont feel happy about it. For the set of features that JDeveloper has, its difficult to compare the feature set with Eclipse. In my view we should not even compare. At the end of the training, i am sort of started believing that its apt to call JDeveloper as Integrated Services Environment (<b>ISE</b>). Its has many things inside. For me it looked like the concepts of Application, Project, Module, Entity Object and View Objects are tightly integrated with JDeveloper. I cant imagine to build a complex application &#8220;-which is tightly integrated with DataBase <b>and</b> ADF-&#8221; without JDeveloper.</p>
<p>Of-course i &#8220;think&#8221; its possible to develop some decent <a href="http://sureshkrishna.wordpress.com/2008/02/08/does-eclipse-support-oracles-adf/" target="_blank">ADF applciations without JDeveloper</a>. We can still develop the UI with the help of the ADF Faces and JSF in Eclipse, but there is no support (as i know) of <a href="http://www.oracle.com/technology/products/jdev/howtos/10g/bcstate/index.html#bcterminology" target="_blank">ADF BusinessComponents</a> in Eclipse till date (03/27/2008). I guess people can still develop some good Oracle ADF applications with the help of EJB3 and JPA stuff.</p>
<p>In the end JDeveloper does many things with Database/Class Diagrams,  ADF Components, Business Rules, EJB, Toplink, WebServices, Database Connection, SOA Stuff (not sure what exactly it does with SOA), JSP, JSF, Struts and much more. Some of the features can be pulled into the eclipse and one can use <a href="http://www.pohttp://sureshkrishna.wordpress.com/2007/11/28/did-you-check-your-pulse/weredbypulse.com/" target="_blank">pulse</a> to do this.</p>
<p>As an Eclipse lover, i am just waiting for a good ADF plugin into the Eclipse world. <b>ahem</b>&#8230;.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sureshkrishna.wordpress.com/103/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sureshkrishna.wordpress.com/103/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sureshkrishna.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sureshkrishna.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sureshkrishna.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sureshkrishna.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sureshkrishna.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sureshkrishna.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sureshkrishna.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sureshkrishna.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sureshkrishna.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sureshkrishna.wordpress.com/103/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sureshkrishna.wordpress.com&blog=579603&post=103&subd=sureshkrishna&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sureshkrishna.wordpress.com/2008/03/27/my-jdeveloper-training/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/sureshkrishna-128.jpg" medium="image">
			<media:title type="html">sureshkrishna</media:title>
		</media:content>
	</item>
		<item>
		<title>EclipseCon 2008 - I loved it.</title>
		<link>http://sureshkrishna.wordpress.com/2008/03/21/eclipsecon-2008-i-loved-it/</link>
		<comments>http://sureshkrishna.wordpress.com/2008/03/21/eclipsecon-2008-i-loved-it/#comments</comments>
		<pubDate>Fri, 21 Mar 2008 02:58:03 +0000</pubDate>
		<dc:creator>sureshkrishna</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[2008]]></category>

		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[eclipsecon]]></category>

		<category><![CDATA[Suresh Krishna]]></category>

		<guid isPermaLink="false">http://sureshkrishna.wordpress.com/?p=102</guid>
		<description><![CDATA[EclipseCon needs no introduction. Its been happening from past 4 years and each year it has a lot of interesting news and updates. I was very excited to meet my ex-colleagues from Germany. Its been refreshing for me to talk to these guys [Peter Kirschner (Robert Bosch, Germany), Stephan Eberle (Geensys, France), Frank Gerhardt (Gerhardt [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.eclipsecon.org" target="_blank">EclipseCon </a>needs no introduction. Its been happening from past 4 years and each year it has a lot of interesting news and updates. I was very excited to meet my ex-colleagues from Germany. Its been refreshing for me to talk to these guys [<b>Peter Kirschner</b> (Robert Bosch, Germany), <b>Stephan Eberle</b> (Geensys, France), <b><a href="http://www.frankgerhardt.com/blog/home/" target="_blank">Frank Gerhardt</a> </b>(Gerhardt Informatics, Germany)] after a long time. I got to meet <b><a href="http://www.linkedin.com/pub/2/334/0A1" target="_blank">Jens Eckles</a> </b>from <a href="http://www.poweredbypulse.com/" target="_blank">Pulse</a>, looks like they released a new version, i need to check it out. Its one of good products i like for eclipse users. After a long time i got to meet <a href="http://www.eclipse.org/org/foundation/staff.php" target="_blank"><b>Ralph Mueller</b></a> from Eclipse foundation and also <a href="http://ed-merks.blogspot.com/" target="_blank"><b>Ed Merks</b> </a>from <a href="http://www.eclipsecon.org/emf" target="_blank">EMF </a>project.</p>
<p>This time there are very good sessions about the <a href="http://www.osgi.org/Main/HomePage" target="_blank">OSGi</a>, <a href="http://www.eclipse.org/equinox/" target="_blank">Equinox</a>, <a href="http://www.eclipsecon.org/rap" target="_blank">RAP</a>, <a href="http://www.eclipse.org/mylyn/" target="_blank">Mylyn</a>, <a href="http://www.eclipse.org/eclipselink/" target="_blank">EclipseLink</a> and <a href="http://www.jazz.net" target="_blank">Jazz</a>. I am personally very impressed with <a href="http://www.jazz.net" target="_blank">Jazz</a>. I attended the <a href="http://www.jazz.net" target="_blank">Jazz </a>workshop and looked like a perfect fit for many of the sw engineering problems. I immediately registered and would want to try this out in the next few months. When i was working with <a href="http://www.bosch.com" target="_blank">Robert Bosch</a>, we were trying to solve similar problems Jazz is trying to solve.</p>
<p>(I heard that GM and Ford are doing some nice and cool things with Eclipse. Hummmm&#8230;. i think i am missing this action.)</p>
<p>I had great time presenting my sessions and the audience response was great.</p>
<ul>
<li><a href="http://www.eclipsecon.org/2008/?page=sub/&amp;id=84" target="_blank">Creating Web 2.0 style RCP apps</a></li>
<li><a href="http://www.eclipsecon.org/2008/?page=sub/&amp;id=503" target="_blank">Model Driven Development with EMF and EclipseLink</a></li>
</ul>
<p>I had lot of fun all these 4 days. From tomorrow the reality comes,  need to go to Office <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Anyway, i had lot of great things to take back from EclipseCon 2008. Hoping to see all of you in the next year with some more great stuff.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sureshkrishna.wordpress.com/102/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sureshkrishna.wordpress.com/102/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sureshkrishna.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sureshkrishna.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sureshkrishna.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sureshkrishna.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sureshkrishna.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sureshkrishna.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sureshkrishna.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sureshkrishna.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sureshkrishna.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sureshkrishna.wordpress.com/102/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sureshkrishna.wordpress.com&blog=579603&post=102&subd=sureshkrishna&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sureshkrishna.wordpress.com/2008/03/21/eclipsecon-2008-i-loved-it/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/sureshkrishna-128.jpg" medium="image">
			<media:title type="html">sureshkrishna</media:title>
		</media:content>
	</item>
		<item>
		<title>JFace Dialogs : which one is right for you ?</title>
		<link>http://sureshkrishna.wordpress.com/2008/03/15/jface-dialogs-which-one-is-right-for-you/</link>
		<comments>http://sureshkrishna.wordpress.com/2008/03/15/jface-dialogs-which-one-is-right-for-you/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 09:30:38 +0000</pubDate>
		<dc:creator>sureshkrishna</dc:creator>
		
		<category><![CDATA[343278]]></category>

		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[Plugin]]></category>

		<category><![CDATA[RCP]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[dialogs]]></category>

		<category><![CDATA[JFace]]></category>

		<category><![CDATA[SWT]]></category>

		<guid isPermaLink="false">http://sureshkrishna.wordpress.com/?p=94</guid>
		<description><![CDATA[JFace framework of Eclipse provides many standard and useful dialogs and a framework to build custom dialogs and wizards. When the standard dialogs seems to be too simple for your plugin or RCP developement, one can extend the standard dialogs to suite their own needs. The aim of this article is to provide example oriented [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://wiki.eclipse.org/index.php/JFace" target="_blank">JFace</a> framework of <a href="http://www.eclipse.org" target="_blank">Eclipse </a>provides many standard and useful dialogs and a framework to build custom dialogs and wizards. When the standard dialogs seems to be too simple for your plugin or <a href="http://www.eclipse.org/rcp/" target="_blank">RCP developement</a>, one can extend the standard dialogs to suite their own needs. The aim of this article is to provide example oriented approach to dialogs and see in depth of all frequently used dialogs. I am hoping to have this article as the point of reference for many developers to get Dialogs overview.</p>
<p>Dialogs are modal UI components which would do some user interaction tasks. Traditionally Dialogs are used to enter a simple input, to select a choice from a list, to select multiple nodes from a tree, to inform about a success/failure from an operation, to input confirmations from the user, etc&#8230;</p>
<p>Eclipse provides standard dialogs from two different frameworks, <a href="http://www.eclipse.org/swt/" target="_blank">SWT</a> provides very basic dialogs like <i>FontDialog</i>, <i>ColorDialog</i>, <i>DirectoryDialog</i>, <i>FileDialog </i>and <i>FontDialog</i>. These <a href="http://www.eclipse.org/swt/" target="_blank">SWT </a>dialogs are coming out of the <a href="http://www.eclipse.org/swt/" target="_blank">SWT </a>as they are very basic and has close connection to the OS. All these Dialogs are available from org.eclipse.swt.widgets package from the org.eclipse.swt.&lt;platform&gt;.jar.</p>
<p>JFace provides a variety of Dialogs for the implementers to extend or to use them directly. Its interesting to look into variety of dialogs provided by JFace and i would leave the usage to your imagination and context. Rest of this article is mostly code, screen shots and less of textual description. I tried to keep the short, sweet and simple.</p>
<p><u><b>FileDialog:</b></u><b> </b>This is a <a href="http://www.eclipse.org/swt/" target="_blank">SWT </a>Dialog but worth mentioning under the general concept of the Dialogs.</p>
<p><i>&#8220;Instances of this class allow the user to navigate the file system and select or enter a file name. Note: Only one of the styles SAVE and OPEN may be specified. </i></p>
<p><i>IMPORTANT: This class is intended to be subclassed &lt;em&gt;only&lt;/em&gt; within the SWT implementation.&#8221;</i></p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/03/filedialog.jpg" title="File Dialog"></a></p>
<div style="text-align:center;"><a href="http://sureshkrishna.files.wordpress.com/2008/03/filedialog.jpg" title="File Dialog"><img src="http://sureshkrishna.files.wordpress.com/2008/03/filedialog.jpg" alt="File Dialog" /></a></div>
<p><u><b>Information Dialogs:</b></u> These dialogs are used to inform user about some event and take some necessary action. There are different Dialogs under this category.</p>
<p><b>ErrorDialog : </b>&#8220;<i>A dialog to display one or more errors to the user, as contained in an IStatus object. If an error contains additional detailed information then a Details button is automatically supplied, which shows or hides an error details viewer when pressed by the user.</i>&#8220;</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/03/errordialog.jpg" title="Error Dialog"></a></p>
<div style="text-align:center;"><a href="http://sureshkrishna.files.wordpress.com/2008/03/errordialog.jpg" title="Error Dialog"><img src="http://sureshkrishna.files.wordpress.com/2008/03/errordialog.jpg" alt="Error Dialog" /></a></div>
<p><b>MessageDialog : &#8220;</b><i>A dialog for showing messages to the user. This concrete dialog class can be instantiated as is, or further subclassed as required.</i>&#8220;</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/03/inofrmationdialog.jpg" title="Information Dialog"></a></p>
<div style="text-align:center;"><a href="http://sureshkrishna.files.wordpress.com/2008/03/inofrmationdialog.jpg" title="Information Dialog"><img src="http://sureshkrishna.files.wordpress.com/2008/03/inofrmationdialog.jpg" alt="Information Dialog" /></a></div>
<div style="text-align:center;"><a href="http://sureshkrishna.files.wordpress.com/2008/03/questiondialog.jpg" title="Question Dialog"><img src="http://sureshkrishna.files.wordpress.com/2008/03/questiondialog.jpg" alt="Question Dialog" /></a></div>
<p><u><b>InputDialog</b></u>: This Dialog is used for a very general paradigm to process some input from the user. Generally its not recommended to use this for input of complex data and for large number of input fields.</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/03/inputdialog.jpg" title="InputDialog"></a></p>
<div style="text-align:center;"><a href="http://sureshkrishna.files.wordpress.com/2008/03/inputdialog.jpg" title="InputDialog"><img src="http://sureshkrishna.files.wordpress.com/2008/03/inputdialog.jpg" alt="InputDialog" /></a></div>
<p><u><b>PrinterDialog</b></u>: &#8220;<i>Instances of this class allow the user to select a printer and various print-related parameters prior to starting a print job.  IMPORTANT: This class is intended to be subclassed only within the SWT implementation.</i>&#8220;</p>
<p align="center"><a href="http://sureshkrishna.files.wordpress.com/2008/03/printdialog.jpg" title="Print Dialog"><img src="http://sureshkrishna.files.wordpress.com/2008/03/printdialog.jpg" alt="Print Dialog" /></a></p>
<p><u><b>ProgressMonitorDialog</b></u>: This is a very important Dialog component most of the applications would use. This Dialog is used to represent any time consuming task or to provide a long running workspace task to the user. Proper care must be taken to show accurate information of progress information to the user.</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/03/progressdialog.jpg" title="Progress Dialog"></a></p>
<div style="text-align:center;"><a href="http://sureshkrishna.files.wordpress.com/2008/03/progressdialog.jpg" title="Progress Dialog"><img src="http://sureshkrishna.files.wordpress.com/2008/03/progressdialog.jpg" alt="Progress Dialog" /></a></div>
<p><u><b>TitleAreaDialog</b></u>: &#8220;<i>A dialog that has a title area for displaying a title and an image as well as a common area for displaying a description, a message, or an error message. This dialog class may be subclassed.</i>&#8220;</p>
<p>This is the class that i often use for &#8220;About MyCompany&#8221; kind of dialogs.</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/03/titleareadialog.jpg" title="TitleArea Dialog"></a></p>
<div style="text-align:center;"><a href="http://sureshkrishna.files.wordpress.com/2008/03/titleareadialog.jpg" title="TitleArea Dialog"><img src="http://sureshkrishna.files.wordpress.com/2008/03/titleareadialog.jpg" alt="TitleArea Dialog" /></a></div>
<p><u><b>ElementListSelectionDialog:</b></u> &#8220;<i>A class to select elements out of a list of elements.</i>&#8220;</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/03/elementlistselectiondialog.jpg" title="ElementListSelectionDialog"></a></p>
<div style="text-align:center;"><a href="http://sureshkrishna.files.wordpress.com/2008/03/elementlistselectiondialog.jpg" title="ElementListSelectionDialog"><img src="http://sureshkrishna.files.wordpress.com/2008/03/elementlistselectiondialog.jpg" alt="ElementListSelectionDialog" /></a></div>
<p><u><b>ListDialog:</b></u> &#8220;<i>A dialog that prompts for one element out of a list of elements. Uses IStructuredContentProvider to provide the elements and ILabelProvider to provide their labels.</i>&#8220;</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/03/listdialog.jpg" title="ListDialog"></a></p>
<div style="text-align:center;"><a href="http://sureshkrishna.files.wordpress.com/2008/03/listdialog.jpg" title="ListDialog"><img src="http://sureshkrishna.files.wordpress.com/2008/03/listdialog.jpg" alt="ListDialog" /></a></div>
<p><u><b>TwoPaneElementSelector:</b></u> &#8220;<i>A list selection dialog with two panes. Duplicated entries will be folded together and are displayed in the lower pane (qualifier)</i>.&#8221;</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/03/twopanedialog.jpg" title="TwoPaneElementDialog"></a></p>
<div style="text-align:center;"><a href="http://sureshkrishna.files.wordpress.com/2008/03/twopanedialog.jpg" title="TwoPaneElementDialog"><img src="http://sureshkrishna.files.wordpress.com/2008/03/twopanedialog.jpg" alt="TwoPaneElementDialog" /></a></div>
<div align="left"></div>
<div align="left"></div>
<p><u><b>List SelectionDialog:</b></u> &#8220;<i>A standard dialog which solicits a list of selections from the user. This class is configured with an arbitrary data model represented by content and label provider objects. The getResult method returns the  selected elements.</i>&#8220;<u><b><br />
</b></u></p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/03/listselectiondialog.jpg" title="ListSelectionDialog"></a></p>
<div style="text-align:center;"><a href="http://sureshkrishna.files.wordpress.com/2008/03/listselectiondialog.jpg" title="ListSelectionDialog"><img src="http://sureshkrishna.files.wordpress.com/2008/03/listselectiondialog.jpg" alt="ListSelectionDialog" /></a></div>
<p><u><b>ElementTreeSelectionDialog:</b></u> &#8220;<i>A dialog class to select elements out of a tree structure.</i>&#8220;</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/03/elementtreeselectiondialog.jpg" title="ElementTreeSelectionDialog"></a></p>
<div style="text-align:center;"><a href="http://sureshkrishna.files.wordpress.com/2008/03/elementtreeselectiondialog.jpg" title="ElementTreeSelectionDialog"><img src="http://sureshkrishna.files.wordpress.com/2008/03/elementtreeselectiondialog.jpg" alt="ElementTreeSelectionDialog" /></a></div>
<p><u><b>CheckedTreeSelectionDialog:</b></u> &#8220;A dialog class to select elements out of a tree structure&#8221;</p>
<p><a href="http://sureshkrishna.files.wordpress.com/2008/03/chekcedtreeselectiondialog.jpg" title="CheckedTreeSelectionDialog"></a></p>
<div style="text-align:center;"><a href="http://sureshkrishna.files.wordpress.com/2008/03/chekcedtreeselectiondialog.jpg" title="CheckedTreeSelectionDialog"><img src="http://sureshkrishna.files.wordpress.com/2008/03/chekcedtreeselectiondialog.jpg" alt="CheckedTreeSelectionDialog" /></a></div>
<p><u><b>Some Notes :</b></u></p>
<ul>
<li>YesNoCancelListSelectionDialog has been Deprecated in 3.3 of Eclipse.</li>
<li>RCP Product extensions and custmizations can be done via AboutDialogs.
<ul>
<li><b>AboutDialog</b></li>
<li><b>AboutFeaturesDialog</b></li>
<li><b>AboutPluginsDialog</b></li>
<li><b>AboutSystemDialog</b></li>
</ul>
<p>Note : Above Dialogs are internal dialogs and not APIs. They are mentioned only as a reference.</li>
<li><b>PrintDialog</b> is intended to be sub-classes by the clients and use it for identifying the printers and other parameters for print job.</li>
<li><b>SaveAsDialog</b> is not available in Eclipse 3.3</li>
</ul>
<p><u><b>Conclusion:</b></u> Dialogs are a great way to present simple data and receive user input. Its very important to understand several Dialogs provided by JFace and use them appropriately.</p>
<p><u><b>References:</b></u></p>
<ul>
<li><a href="http://www-128.ibm.com/developerworks/library/os-ecgui1/" title="Using JFace and SWT in stand-alone mode : Part 1" target="_blank">Using JFace and SWT in stand-alone mode Part 1</a></li>
<li><a href="http://www.ibm.com/developerworks/library/os-ecgui2" target="_blank">Using JFace and SWT in stand-alone mode Part 2</a></li>
<li><a href="http://www.ibm.com/developerworks/library/os-ecgui3" target="_blank">Using JFace and SWT in stand-alone mode Part 3</a></li>
<li><a href="http://help.eclipse.org/help21/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/jface/dialogs/package-summary.html" target="_blank">Eclipse Help</a></li>
<li><a href="http://sureshkrishna.wordpress.com/2007/09/05/make-your-eclipse-dialogs-and-messages-to-cetre-of-screen/" target="_blank">Positioning Dialogs on Windows</a></li>
<li><a href="http://www.qualityeclipse.com" target="_blank">Quality Eclipse</a></li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sureshkrishna.wordpress.com/94/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sureshkrishna.wordpress.com/94/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sureshkrishna.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sureshkrishna.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sureshkrishna.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sureshkrishna.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sureshkrishna.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sureshkrishna.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sureshkrishna.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sureshkrishna.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sureshkrishna.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sureshkrishna.wordpress.com/94/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sureshkrishna.wordpress.com&blog=579603&post=94&subd=sureshkrishna&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sureshkrishna.wordpress.com/2008/03/15/jface-dialogs-which-one-is-right-for-you/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/sureshkrishna-128.jpg" medium="image">
			<media:title type="html">sureshkrishna</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/03/filedialog.jpg" medium="image">
			<media:title type="html">File Dialog</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/03/errordialog.jpg" medium="image">
			<media:title type="html">Error Dialog</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/03/inofrmationdialog.jpg" medium="image">
			<media:title type="html">Information Dialog</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/03/questiondialog.jpg" medium="image">
			<media:title type="html">Question Dialog</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/03/inputdialog.jpg" medium="image">
			<media:title type="html">InputDialog</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/03/printdialog.jpg" medium="image">
			<media:title type="html">Print Dialog</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/03/progressdialog.jpg" medium="image">
			<media:title type="html">Progress Dialog</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/03/titleareadialog.jpg" medium="image">
			<media:title type="html">TitleArea Dialog</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/03/elementlistselectiondialog.jpg" medium="image">
			<media:title type="html">ElementListSelectionDialog</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/03/listdialog.jpg" medium="image">
			<media:title type="html">ListDialog</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/03/twopanedialog.jpg" medium="image">
			<media:title type="html">TwoPaneElementDialog</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/03/listselectiondialog.jpg" medium="image">
			<media:title type="html">ListSelectionDialog</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/03/elementtreeselectiondialog.jpg" medium="image">
			<media:title type="html">ElementTreeSelectionDialog</media:title>
		</media:content>

		<media:content url="http://sureshkrishna.files.wordpress.com/2008/03/chekcedtreeselectiondialog.jpg" medium="image">
			<media:title type="html">CheckedTreeSelectionDialog</media:title>
		</media:content>
	</item>
	</channel>
</rss>