<HTML>
<HEAD>
<title>netbeans.org: NetBeans Weekly News Issue #269 - Dec 04, 2006</title>
<META NAME="description" CONTENT="Newsletter 2006-12-04">

<link rel="stylesheet" type="text/css" href="/netbeans.css">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">

<!-- ====================================================== -->
<!-- Please do not edit this file by hand, it is rebuilt    -->
<!-- automatically and your changes will be lost.  Contact  -->
<!-- webmaster for details.  Rebuilt at                     -->
<!-- #TIMESTAMP# 04-Dec 15:10 CET                          -->
<!-- ====================================================== -->
</HEAD>
<BODY>

<h1>NetBeans Weekly News<br>Issue #269 - Dec 04, 2006</h1><hr>
NetBeans Weekly News, a newsletter for the NetBeans community<br>
Issue #269 - Dec 04, 2006<br>
URL: &lt;<a href='https://netbeans.org/community/news/newsletter/2006-12-04.html'>https://netbeans.org/community/news/newsletter/2006-12-04.html</a>&gt;<br>
Interested in becoming a newsletter editor?  We're always looking<br>
for editors to help out. Contact <a href='mailto:nbnews_contrib@netbeans.org'>nbnews_contrib@netbeans.org</a><br>
Please send news contributions to <a href='mailto:nbnews_contrib@netbeans.org'>nbnews_contrib@netbeans.org</a><br>
<hr><pre>Javapolis Belgium
NetBeans will be represented at Javapolis by Tim Boudreau, Jaroslav
Tulach and Roman Strobl. There will be one presentation about NetBeans
Platform delivered by Tim and Jarda and a quick demo of Visual Web
Pack, done by Roman Strobl. You can also meet NetBeans evangelists and
developers at the Sun booth.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=930">http://services.netbeans.org/newsletter/story.php?id=930</a>&gt;

NetBeans Day Atlanta - January 16, 2007
All aboard! Next stop on the NetBeans WorldTour, Buenos Aires. Space is
limited so reserve your spot today!
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=933">http://services.netbeans.org/newsletter/story.php?id=933</a>&gt;

NetBeans 5.5 Multilingual Release Candidate 1
NetBeans 5.5 ML Release Candidate 1 is now available in Japanese,
Simplified Chinese, and for the very first time, Brazilian Portuguese,
which was localized by the Brazilian developer community. All UI
messages and online help are localized, also the installer can start in
these languages.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=931">http://services.netbeans.org/newsletter/story.php?id=931</a>&gt;
Additionally, for the Brazilian Portuguese, there is a testing contest:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=932">http://services.netbeans.org/newsletter/story.php?id=932</a>&gt;

NetBeans 6.0 Milestone 5 Now Available
Milestone 5 is a "big bang" for NetBeans as it includes the initial
version of the improved Java editor and the new Java language
infrastructure that is based on the Javac. The APIs will give you full
access to the Javac APIs for given source. Many modules from the J2EE
area are disabled and we don't recommend to use the milestone for
production work, however you can try out the new features.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=934">http://services.netbeans.org/newsletter/story.php?id=934</a>&gt;
Pictures tell you more about these features so be sure check them out.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=935">http://services.netbeans.org/newsletter/story.php?id=935</a>&gt;

Seeking Feedback on the NetBeans Welcome Screen
Please take a short survey about the NetBeans welcome screen. Love it?
Want changes? The NetBeans core team is waiting for your input. The
NetBeans core team will use these results to improve the NetBeans
welcome screen for NetBeans 6.0.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=936">http://services.netbeans.org/newsletter/story.php?id=936</a>&gt;

Meet a NetBeans Module Writer: Andreas Andreou
Andreas resides in Athens, in Greece, and is a big Tapestry enthusiast.
Here, he shares his experiences creating a NetBeans module that
provides tooling for Tapestry.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=937">http://services.netbeans.org/newsletter/story.php?id=937</a>&gt;

New NetBeans Community Manager
Bruno Souza has joined Sun as a NetBeans community manager. His job is
to work with NetBeans community and make it larger and even more
successful. Bruno is the chairman of SOUJava which is the probably the
largest Java User Group on Earth with more than 18.000 members. Bruno
has been evangelizing Java since 1995 and he's the famous guy with a
Brazilian flag you might have met at Java One. Listen to the podcast of
Roman interviewing Bruno.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=938">http://services.netbeans.org/newsletter/story.php?id=938</a>&gt;

New Plugin: Plethora - Looking Glass Designer
Charles Ditzel writes, "Very cool new NetBeans module/plugin suite,
Plethora, complements Looking Glass software development and allows 3D
application developers to create 3D interfaces. Plethora provides a
drag-n-drop enabled Designer, automatic code generation, and more."
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=939">http://services.netbeans.org/newsletter/story.php?id=939</a>&gt;

Series: Hands-On Java EE 5 (Ajax)
Hands-On Java EE 5 articles describe how to develop advanced web
applications with Java Platform, Enterprise Edition 5 (Java EE 5) and
open source tools and technologies. The first articles in the series
show how to implement Ajax features in an existing application that was
developed in the NetBeans IDE.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=940">http://services.netbeans.org/newsletter/story.php?id=940</a>&gt;

Webinar: What's New In Visual Web Pack
Discover what features from Java Studio Creator are being added to
NetBeans 5.5, enabling you to do visual web development along with
everything else that NetBeans 5.5 supports, all in one tool.
* Key features of the Visual Web Pack
* Building a visual web application using Java Persistence Architecture
 (JPA) and JavaServer Faces (JSF) components
* Importing and using an Ajax based JSF component library
<a href="http://services.netbeans.org/newsletter/story.php?id=941">"http://services.netbeans.org/newsletter/story.php?id=941</a></pre><hr>This issue of NetBeans Weekly News was brought to you by Robert Demmer.<br>
The next editor will be Robert Demmer. (New volunteers are welcome!)<br>
Please send news contributions to <a href='mailto:nbnews_contrib@netbeans.org'>nbnews_contrib@netbeans.org</a></BODY>
</HTML>
