
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>NetBeans Weekly Newsletter, Issue # 307</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<meta name="keywords" content="NetBeans, IDE, Platform, free, open source, developer" >
</head>
<body>
<style>
body {
		margin:5px 15px 5px 15px;
		font-size: 11px;
		font-family: Verdana, "Verdana CE",  Arial, "Arial CE", "Lucida Grande CE", lucida, "Helvetica CE", sans-serif;
		background-color:#e3eaf1;
		text-align:center;
}
				
#letter {width:533px;margin-left:auto;margin-right:auto;}
#head {background-image:url("http://services.netbeans.org/appl2/shared_images/head.png");width:533px;height:70px;background-repeat:none;}
#issue-date {padding-top:50px;text-align:center; color:white;}
#footer {background-image:url("http://services.netbeans.org/appl2/shared_images/footer.png"); width:533px;height:28px;background-repeat:none;}
#footer-text {padding-top:5px;color:#6a6b6d;text-align:center;}
#content {border-right:3px solid #747d9e;border-left:3px solid #747d9e; background-color:white; text-align:left; color:#6a6b6d; padding:13px 20px 13px 13px; }
#letter h1 {font-size: 14px; font-weight:normal; margin:3px 0px 5px 0px;; padding:0px;color: #EE6B00; border-bottom:1px solid silver;}
#letter h2 {color:#2C3C79;font-size: 13px; font-weight:normal;margin:0px 0px 2px 0px;;padding:0px; border:0px;}
#letter p {padding 0px;margin:0px; text-align:justify;}
#letter a:link, a:visited { color: #045491; font-weight : normal; text-decoration: none;}
#letter a:link:hover, a:visited:hover  { color: #045491; font-normal : bold; text-decoration : underline;}
.item {margin-left:8px; margin-bottom:9px;}
.bold {font-weight:bold;}
#letter a.orange {color: #EE6B00;}
.align-right {text-align:right;}     
.align-center {text-align:center;}  
.edited {margin:15px -20px 0px -13px;padding-top:8px;text-align:center;}
</style>

				
<div id="letter">
	<div id="head">
		<div id="issue-date" class="bold">
				Issue # 307 - Sep 03, 2007
		</div>
	</div>
	<div id="content">
	
				<h1>Project News</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1337">Tor Norbye mixes Ruby and Java development using NetBeans</a></h2>
						<p style="margin-left:8px;"><img src='http://services.netbeans.org/appl2/show_image.php?id=425&column=image&table=story&type=image/jpeg&db=xnetbeans&db_type=pear&id_col=story_id' 
		height='33' width='110' alt='image' style='float:left; margin-right:5px;margin-bottom:5px;'/>
						In this NetBeans.TV video, Tor Norbye uses NetBeans IDE 6.0 to develop an application that integrates Java desktop CRUD (Create-Read-Update-Delete) with Ruby on Rails. Tor demonstrates the code completion and live templates features of the Java and Ruby editors, the Rails code generator, and the IDE's JUnit module.</p><br style="clear:both;"/>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1341">JDocs Plugin Trifecta: NetBeans Plugin Released</a></h2>
						<p style="margin-left:8px;">
						NetBeans users who also use JDocs now have a JDocs plugin for NetBeans. The plugin is an alpha version and only works for NetBeans 6.0 M10. Get download details and more information from the <a href="http://www.jdocs.com/page/NetBeans_Plugin">JDocs site</a>.</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1342">NetBeans C/C++ Pack 5.5.1 Update 1 — Now for Mac OS, too</a></h2>
						<p style="margin-left:8px;">
						NetBeans.org is proud to announce that the NetBeans C/C++ Pack 5.5.1 Update 1 is now available in English, Japanese, and Simplified Chinese.
NetBeans C/C++ Pack 5.5.1 Update 1 has a significantly smaller memory footprint, greatly improved performance, and lots of bugs have been fixed. In addition, this is the first release that supports the Mac OS!</p>
					</div>
				<h1>Community</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1334">NetBeans Podcast #34</a></h2>
						<p style="margin-left:8px;">
						Tune in to hear Roman and Gregg talk about everything from Visual Web Pack ideas to GlassFish performance to new articles on the web site and of course, the new NetBeans TV site! Plus the regular features: module of the podcast and the NetBeans Puzzler. Tune in for all the NetBeans news that's fit to discuss.</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1345">Governance Board Elections - Nominations Open</a></h2>
						<p style="margin-left:8px;">
						It's time again to elect a new NetBeans Governance Board. The nomination period is open from September 3-16 and the voting will take place from September 17-30. The new members of the governance board will be announced to the community on October 1, 2007.</p>
					</div>
				<h1>Calendar</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1338">Eight Days Till NetBeans Day Boston!</a></h2>
						<p style="margin-left:8px;"><img src='http://services.netbeans.org/appl2/show_image.php?id=424&column=image&table=story&type=image/png&db=xnetbeans&db_type=pear&id_col=story_id' 
		height='60' width='100' alt='image' style='float:left; margin-right:5px;margin-bottom:5px;'/>
						The start of the new season of the NetBeans WorldTour</a> is only eight days away! Register for NetBeans Day Boston in the USA —the first stop on our tour— and get the first previews of NetBeans 6.0 and its features, and why it is the only IDE a developer needs!
See all the <a href="https://netbeans.org/community/articles/worldtour/index.html">dates and stops on the NetBeans WorldTour</a> 2007-2008 here.</p><br style="clear:both;"/>
					</div>
				<h1>Articles</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1343">Screencast: Creating Map Mashups with jMaki</a></h2>
						<p style="margin-left:8px;">
						This screencast shows how jMaki allows to embed and interact with map widgets in your application. We will create two mashups - in the first one, you enter a city name and its location is displayed in map widgets from two different toolkits; in the second one, you extract data from Craig's List, process it using jMaki filters, and then display the relevant information in a map.</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1344">Modifying Database Tables in a Visual Web Application with the Java Persistence API</a></h2>
						<p style="margin-left:8px;">
						This article is the second article in a two-part series. In part 1, you learned how to use the Java Persistence API to access a database table and retrieve its data, and then display that data using a Visual Web Table component. Now you are ready to use the same Java Persistence API and Visual Web Table component to add, update, and delete database table rows.</p>
					</div>
				<h1>Blogs</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1339">Need Javadoc?</a></h2>
						<p style="margin-left:8px;">
						If you are trying out version 6 of the NetBeans IDE, you might not be aware that the editor will now provide hints for inserting and correcting Javadoc comments.  Gregg Sporar shows how it works in this blog entry.</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1333">Moving Maven2 Project to the NetBeans IDE</a></h2>
						<p style="margin-left:8px;">
						Kristian Rink has recently started using NetBeans 6.0 to develop  applications that are built on the Spring framework. In this entry, he blogs about his experience using the Maven2 support in NetBeans 6.0.</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1336">Creating a Quick Tag Action in Netbeans 6.0 (M10)</a></h2>
						<p style="margin-left:8px;">
						NetBeans user Steven Yi has come with a handy new way to create a quick tag action in NetBeans for HTML editing. It proved useful to him, and maybe it'll be for you as well. Check it out and give him feedback.</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1340">Excel using WSIT - Metro and .NET interoperability sample</a></h2>
						<p style="margin-left:8px;">
						Arun Gupta posted a real-life sample of an Excel 2007 spreadsheet invoking a secure and reliable endpoint deployed on GlassFish. Of course, he used the NetBeans IDE to configure and deploy the endpoint. Watch the demo, and download and try the sample application yourself!</p>
					</div>
	<div class="edited">
	This issue was brought to you by: Robert Demmer<br/>If you do not want to receive this newsletter, you can <a href="https://netbeans.org/community/lists/top.html">unsubscribe here<a>
	</div>
	</div>
	<div id="footer">
		<div id="footer-text">
				This newsletter is accessible also at <a href="https://netbeans.org/community/news/newsletter/2007-09-03.html">www.netbeans.org</a>, 
				<a href="https://netbeans.org/community/news/newsletter/archive.html">newsletter archive</a>
		</div>
	</div>

</body>
</html>