
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>NetBeans Weekly Newsleter, Issue # 298</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 {text-align:center; padding-top:50px; 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 # 298 - Jul 02, 2007
		</div>
	</div>
	<div id="content">
	
				<h1>Project News</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1248">NetBeans IDE 6.0 Milestone 10 (M10) Available!</a></h2>
						<p style="margin-left:8px;">
						NetBeans is proud to announce the availability of NetBeans IDE 6.0 Milestone 10 (M10). Additions to Milestone 10 include:<br><br>
* Ruby Debugger enhancements<br>
* Plugin Manager allows you to distribute groups of IDE components<br>
* Visual Designer with a new look and feel<br>
* More Ajax enabled components from Project Woodstock<br>
* Struts 1.3.x files are recognized by the IDE<br>
* UML Source Code Synchronization<br>
* <a href="http://wiki.netbeans.org/wiki/view/NewAndNoteWorthyMilestone10">And More</a><br><br>

As always, we welcome and encourage your feedback about your experience using the NetBeans IDE on our <a href="https://netbeans.org/community/lists/top.html">mailing lists</a> and in your blogs!</p>
					</div>
				<h1>Calendar</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1244">NetBeans to Take on Rival IDEs at JUG Cologne July 3!</a></h2>
						<p style="margin-left:8px;">
						<i>Four IDEs. One Session.</i> The NetBeans IDE will go up against three other IDEs--Eclipse, Oracle, and JetBrains--at <a href="http://jugcologne.org/">JUG Cologne</a>'s first-ever IDE Shootout on Tuesday, July 3rd, at the University of Cologne, Germany. Attend the shootout and watch our evangelist Roman Strobl prove to developers that NetBeans is "The Only IDE You Need"! <a href="https://www.xing.com/app/events?op=detail;id=124526;from=home">Registration</a> is free, but seating is LIMITED. Reserve your spot now.</p>
					</div>
				<h1>Articles</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1241">Applied NetBeans API Mechanics</a></h2>
						<p style="margin-left:8px;">
						Join Geertjan on an extended tour of a wide variety of NetBeans APIs as he builds a JavaHelp Editor on the NetBeans Platform. After recognizing JavaHelp TOC files as a special file type, he shows you how to build a multiview editor, via JAXB objects that he generates with the brand new NetBeans IDE 6.0 JAXB Wizard. A variety of topics will be covered, from "How do I open an HTML file via a link in a visual pane on top of a TOC file" to "How do I implement link checking functionality". It promises to be a wild ride covering many blog entries.</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1245">NetBeans: More Than an IDE</a></h2>
						<p style="margin-left:8px;">
						Are you new to NetBeans or know someone who is? Check out this excellent article written by Dream Team member Wade Chandler that introduces you to the NetBeans IDE and the NetBeans project. The primer covers the NetBeans Rich Client Platform, plug-ins, mailing lists, tutorials, and more.</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1243">Project Woodstock: The Next Generation of Smarter User Interface Components</a></h2>
						<p style="margin-left:8px;">
						If you’ve used the NetBeans IDE Visual Web Pack, you’ve built web pages with the user interface components. These components are actually called the Project Woodstock components. Learn more about their origin and how Project Woodstock can benefit you as a developer.</p>
					</div>
				<h1>Blogs</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1242">Highlights from NetBeans Day Jazoon</a></h2>
						<p style="margin-left:8px;">
						NetBeans Day at Jazoon in Zurich is over. Members of the NetBeans Team who attended have posted excellent summaries of the day on their blogs. Evangelist Roman Strobl's post, for example, covers some of the questions developers asked about building applications on NetBeans and more. Check out his blog entry for the questions and his responses, and links to other write-ups of NetBeans Day at Jazoon.</p>
					</div>
				<h1>Training</h1>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1246">Creating a Ruby Weblog in 10 Minutes</a></h2>
						<p style="margin-left:8px;">
						A little short on time? We've got a nifty and swift tutorial for you: How to create a blog in less than 10 minutes. The tutorial runs with NetBeans IDE 6.0 (M10) with Ruby support. Time's running out, so get to it!</p>
					</div>
				<div class="item">
				<h2><a href="http://services.netbeans.org/newsletter/story.php?id=1247">VWP: Redirection When Session Times Out</a></h2>
						<p style="margin-left:8px;">
						Security is an important consideration with all web applications. One security issue that you may need to implement concerns limiting user access to particular pages of a web application when variables are out of session scope. When this occurs, you might want to require the user to login again before proceeding....</p>
					</div>
	<div class="edited">
	This week's 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>
	<div id="footer">
		<div id="footer-text">
				This newsletter is accessible also at <a href="https://netbeans.org/community/news/newsletter/2007-07-02.html">www.netbeans.org</a>, 
				<a href="https://netbeans.org/community/news/newsletter/archive.html">newsletter archive</a>
		</div>
	</div>

</body>
</html>