
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>NetBeans Weekly Newsletter, Issue # 345</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;}
.edge-top {background-color: #f0f7ff;padding:7px 12px 7px 7px;margin-bottom:10px; border:1px solid #747d9e;}
</style>

				
<div id="letter">
	<div id="head">
		<div id="issue-date" class="bold">
				Issue # 345 - Jun 09, 2008
		</div>
	</div>
	<div id="content">
	
				<h1>Project News</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2070">Download NetBeans IDE 6.1 in Japanese, Simplified Chinese & Brazilian Portuguese!</a></h2>
						<p style="margin-left:8px;"><img src='http://services.netbeans.org/appl2/show_image.php?id=1250&column=image&table=story&type=image/jpeg&db=xnetbeans&db_type=pear&id_col=story_id' 
		height='75' width='91' alt='image' style='float:left; margin-right:5px;margin-bottom:5px;'/>
						NetBeans IDE 6.1 is now available in Japanese, Simplified Chinese, and Brazilian Portuguese! The entire range of NetBeans Packs and Bundles can be downloaded in these languages, as well as in English. To get NetBeans IDE 6.1 in the language of your choice, on the download page use the <b>Language</b> pulldown menu located above the <i>NetBeans IDE Download Bundles</i> table.
<br><br>
<i>A big "Thank You" to the localization teams from Japan, China and Brazil that contributed product testing or provided translations for User Interface and documentation.</i></p><br style="clear:both;"/>
					</div>
				<h1>Calendar</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2066">Deep Dive into NetBeans in Manila! (June 17)</a></h2>
						<p style="margin-left:8px;"><img src='http://services.netbeans.org/appl2/show_image.php?id=1234&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;'/>
						As part of Sun Tech Days Manila, Philippines, NetBeans will be hosting a FREE Deep Dive afternoon! Let our experts Tim Boudreau, Sang Shin and Geertjan Wielenga bring you up to speed with the latest in NetBeans 6.1 and then lead you on in-depth tours of Web, Enterprise and Desktop development with the IDE. See the <a href="http://enterprise.circusmax.com/e1/hello/Load?EventID=q426ixym&Pg=agenda_techdays">event agenda</a> for more details.</p><br style="clear:both;"/>
					</div>
				<h1>Community</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2071">NetBeans Podcast Episode #43</a></h2>
						<p style="margin-left:8px;">
						Roman and Gregg return with plenty of NetBeans news to impart, including one about a change to the podcast.... Tune in to find out what and to get briefed on the latest with NetBeans 6.1, upgrades to the NetBeans Plugin Portal, cool modules, upcoming NetBeans events and more.</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2072">TagsMe GUI: New NetBeans Platform Application</a></h2>
						<p style="margin-left:8px;"><img src='http://services.netbeans.org/appl2/show_image.php?id=1235&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;'/>
						The TagsMe GUI Editor is a NetBeans Platform application that NetBeans Dream Team member Ibon Urrutia and others developed to provide a graphical editor for their JavaME framework, TagsMe. Watch it in action on NBTV. Geertjan Wielenga has a brief <a href="http://blogs.sun.com/geertjan/date/20080606">write-up</a> about the application as well.</p><br style="clear:both;"/>
					</div>
				<h1>Training</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2062">Building Rails Resource Relationships the RESTful Way</a></h2>
						<p style="margin-left:8px;">
						The Ruby on Rails framework has a powerful model subframework known as ActiveRecord. The ActiveRecord framework analyzes the database schema and automatically provides most of the methods needed to work with data. In this tutorial learn to use ActiveRecord methods to specify the one-to-many relationship between two model classes and to use the Representational State Transfer (REST) support for nested resources.</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2064">Using Hibernate in a Visual Web JSF Application</a></h2>
						<p style="margin-left:8px;">
						Learn how to add support for Hibernate to the NetBeans IDE and to use Hibernate with JSF components in a Visual Web application.</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2065">Introduction to the Spring Framework</a></h2>
						<p style="margin-left:8px;">
						The Spring Framework is a popular open source application framework that can make Java development easier, and this tutorial provides steps for constructing a simple web MVC application using the framework.</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2063">Creating Portlets for Web Sites With the NetBeans IDE</a></h2>
						<p style="margin-left:8px;">
						Create portlets and provide dynamic content through drag-and-drop widgets in the NetBeans IDE. The example portlet in this tutorial uses the jMaki Tabbed View widget, pulls in RSS feeds, and uses static links from Sun's New to Java Programming Center.</p>
					</div>
				<h1>Blogs</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2067">Real-World Java Database Applications</a></h2>
						<p style="margin-left:8px;">
						Patrick Keegan has started a series of blog entries showing how to create Java desktop database applications with standard but tricky features. In the five installments he has provided so far, he covers one-to-many and many-to-one relationships, using separate dialogs for input, adding actions, creating search fields, and more. The series begins with <a href="http://weblogs.java.net/blog/pkeegan/archive/2008/05/input_on_a_new.html">Input on a New Desktop Java Database Tutorial</a>.</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2068">SIP Application Development Module Suite Available</a></h2>
						<p style="margin-left:8px;">
						The SIP Application Development modules are now available from the NetBeans Beta update center with NetBeans 6.1. Get installation instructions, including screenshots, from Vince Kraemer's blog entry.</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=2069">Maven Blog by Milos Kleint</a></h2>
						<p style="margin-left:8px;">
						Milos Kleint, the NetBeans engineer who works on Maven support in NetBeans IDE, has a blog that's a good resource for interesting information about Maven support in the IDE, such as his most recent entry about the <a href="http://blogs.codehaus.org/people/mkleint/archives/001704_maven_pom_inheritance_view.html">Maven POM inheritance view</a>.</p>
					</div>
	<div class="edited">
	This issue was brought to you by: Tinuola Awopetu<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 class="edited">
        Available languages<br>
        <a href="https://netbeans.org/community/news/newsletter/index.html">English</a> | <a href="https://netbeans.org/community/news/newsletter/index_pt_BR.html">Brazilian Portuguese</a> | <a href="https://netbeans.org/community/news/newsletter/index_zh_CN.html">Chinese - simplified</a>
        </div>
	</div>
	<div id="footer">
		<div id="footer-text">
				This newsletter is accessible also at  <a href="https://netbeans.org/community/news/newsletter/2008-06-09.html">www.netbeans.org</a>, 
				<a href="https://netbeans.org/community/news/newsletter/archive.html">newsletter archive</a>
		</div>
	</div>

</body>
</html>