<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>NetBeans Mobility Pack for CDC 5.5 Release Notes</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <meta name="description" content="NetBeans Mobilty Pack 5.5 for CDC  Release Notes: 
        Introduction, Compatibility, Known Issues, Documentation">
        <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
        <style type="text/css">
<!--
.style1 {
	font-family: "Courier New", Courier, mono;
	font-style: italic;
}
-->
        </style>
    </head>
    <body>

        <a name="top"></a>
        
<h1>NetBeans Mobility Pack for CDC 5.5 Release Notes </h1>

        
<blockquote> 
  <p>Welcome to the NetBeans Mobility Pack for CDC, an add-on pack that provides 
    the tools for creating Java Micro Edition (Java ME) applications that support 
    the Java ME, Connected Device Configuration (CDC) technologies.</p>
  <h2 style="color:#0E1B55">Contents</h2>
  <ul>
    <li><a href="#system_requirements">System Requirements</a> 
    <li><a href="#compatibility">Compatibility</a></li>
    <li><a href="#known_issues">Known Issues </a></li>
    <li><a href="#documentation">Documentation</a></li>
    <li><a href="#more_info">More Information</a></li>
  </ul>
                
  <p>&nbsp;</p>
  <p><b>Note: </b>If you are looking for information about installing the NetBeans Mobility Pack for CDC 5.5, see the <a href="mobilitycdc-install.html">NetBeans Mobility Pack for CDC 5.5.1 Installation Guide</a>.
  </p>
  <p align="center"><a href="#top">top</a></p>
 
<h2><a name="system_requirements"></a>System Requirements</h2>
            <!--<a name="req_os"></a>-->
            <h5 style="border-bottom:0">Supported Operating Systems</h5>
            
  <p>The NetBeans Mobility Pack for CDC 5.5 runs on the Java SE JDK versions 5.0 
    and 6.0, which consists of the Java Runtime Environment plus developer tools 
    for compiling, debugging, and running applications written in the Java language. 
  <p>The NetBeans Mobility pack for CDC runs on Microsoft Windows systems that 
    support the Java VM. Below is a list of platforms that NetBeans IDE has been 
    tested on. 
  <ul>
    <li>Microsoft Windows XP Professional SP2</li>
  </ul>
  <ul>
    <li>Microsoft Windows 2000 Professional SP4 </li>
  </ul>         
            
            <a name="min_hw"></a>
            
  <h5 style="border-bottom:0">Minimum Hardware Configurations</h5>
  <p style="border-bottom:0">The Mobility Pack for CDC does not require significant 
    resources beyond those required by the NetBeans IDE. </p>
            
            <div class="greybox">
                <p><b>Note:</b> The IDE's minimum screen resolution is 1024x768 pixels.</p>
            <ul>
      <li><b>Processor: </b>500 MHz Intel Pentium III workstation or equivalent</li>
      <li><b>Memory: </b>512 MB</li>
      <li><b>Disk space: </b>850 MB of free disk space </li>
    </ul>
  </div>               
            
                
  <a name="req_hw"></a>
                <h5 style="border-bottom: 0pt none;">Recommended Hardware Configurations</h5>
                
  
<ul>
        <li><b>Processor: </b>1.4 GHz Intel Pentium III workstation or equivalent</li>
        <li><b>Memory: </b>1 GB</li>
        <li><b>Disk space: </b>1 GB of free disk space </li>
  </ul>
    </li>
  </ul>


            <a name="req_sw"></a>
            <h5 style="border-bottom:0">Required Software</h5>
            
  <p>NetBeans IDE runs on the J2SE JDK (Java SE Development Kit) 5.0 and 6.0, 
    which consists of the Java Runtime Environment plus developer tools for compiling, 
    debugging, and running applications written in the Java language. </p>
  <p>You can download the JDK for your platform at <a href="http://java.sun.com/javase/downloads/index.jsp">http://java.sun.com/javase/downloads/index.jsp</a></p>
  <p><strong>Emulator Platforms</strong></p>
  <p>The Sun Java Toolkit for CDC is integrated within the NetBeans Mobility Pack. 
    However, if you want to program applications for other supported platforms, 
    you need to download and install one or more of the following SDKs:</p>
  <ul>
    <li>Ricoh 
      <ul>
        <li>Embedded Software Architecture Emulator (Registration required for 
          <a href="http://www.ricoh.com/esa/index.html">Download</a>)</li>
      </ul>
    </li>
    <li>Sony Ericsson 
      <ul>
        <li>UIQ 3 SDK (login required for <a href="http://developer.uiq.com/">download</a>)</li>
        <li>M600 Extension Package for the UIQ 3 SDK Beta 3 (<a href="http://developer.sonymobile.com/downloads/sdks/">download</a>)</li>
        <li>P990 Extension Package for the UIQ 3 SDK Beta 3 (<a href="http://developer.sonymobile.com/downloads/sdks/">download</a>)</li>
      </ul>
    </li>
    <li>Nokia 
      <ul>
        <li>Nokia Series 80 Platform SDK for Symbian OS, for Java, Personal Profile 
          (<a href="http://www.forum.nokia.com/info/sw.nokia.com/id/449a2f84-2a8a-44fa-a7f4-93b53cb9c89a/Series_80_Platform_SDK_s_for_Symbian_OS_for_Java.html">download</a>) 
        </li>
      </ul>
    </li>
    <li> 
      SavaJe
      <ul>
        <li> The SavaJe Operating System (OS) (Registration Required for download)</div> 
        </li>
      </ul>
    </li>
  </ul>
  <p>&nbsp;</p>
  <p>Installation instructions for each emulator are available in the <a href="mobilitycdc-install.html">NetBeans Mobility Pack for CDC 5.5 Installation Guide. </a></p>
</blockquote>
        <p align="center"><a href="#top">top</a></p>
<h2><a name="compatibility"></a>Compatibility</h2>
  <p>When you first run the IDE with NetBeans Mobility Pack, you can import a 
    subset of the settings you used in NetBeans Mobility Pack for CDC 5.5 Beta 
    2. If you choose not to import settings from that previous release, the IDE 
    opens using the default settings. </p>
        <blockquote>
          <p><b>Note:</b><i> The IDE only recognizes previous installations where 
          the user directory resides in the default location. It does not recognize 
          installations where you have specified a user directory using the <code>--userdir</code> 
          switch. If you would like to import settings from an IDE that the installer 
          does not recognize, download an archive version of the IDE instead of the 
          installer.</i></p>
    </blockquote>
        
  <p>Though it is possible to import settings from the NetBeans Mobility Pack 
    for CDC 5.0 into the NetBeans 5.5, it is not possible to import settings from 
    NetBeans Mobility Pack for CDC 5.5 into the earlier IDE release. </p>
        <p align="center"><a href="#top">top</a></p>
        <a name="known_issues"></a>
        <h2>Known Issues</h2>
        <div class="indent">
            
  <p>The unresolved issues for this release are as follows: </p>
        
<blockquote> 
  <ul>
    <!--
                    <li><a href="ADD ISSUE LINK HERE">Issue #ADD ISSUE NUMBER HERE:  
                    ADD ISSUE TITLE HERE.</a> 
                    <blockquote>
                        <p><b>Description:</b> ADD DESCRIPTION HERE.</p> 
                        <p><b>Workaround:</b> ADD WORKAROUND HERE.</p>
                    </blockquote></li>-->
    <li>Issue<a href="https://netbeans.org/bugzilla/show_bug.cgi?id=86566">#86566:</a> 
      Error while saving palette settings. 
        <blockquote> 
        <p><b>Description: </b>GUI Designer Palette settings are not saved if 
          you change the project's emulator platform.</p>
      </blockquote>
    </li>
    <li>Issue<a href="https://netbeans.org/bugzilla/show_bug.cgi?id=88709">#88709:</a>
Build fails when switching between emulator platforms.
  <blockquote> 
        <p><b>Description: </b>If you change platform from  Nokia  to Sony Ericsson, the build fails. </p>
        <p><b>Workaround: </b>Change the UID by right-clicking on the project 
          and choosing Project Properties &gt; General &gt; Sony Ericsson. </p>
      </blockquote>
    <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=77083">Issue #77083:</a> Absolute path link for icons in bundle.jnlp file 
      <blockquote>
         <p><b>Description:</b> icon.small and icon.focused has absolute path after deployment.</p> 
         <p><b>Workaround:</b> The  path can be specified  for devices according to  the device's documentation.</p>
      </blockquote>
	</li>
	    <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=88913">Issue #88913:</a> 
Cannot find nbproject/build-impl.xml	error      
          <blockquote>
        <p><b>Description:</b> Internationalized version of IDE will receive error message if you Build, Run and Rename a project. </p> 
        </blockquote>
	</li>
    <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=90047">Issue #90047:</a>  Problems debugging CDC projects
      <blockquote>
         <p><b>Description:</b> java.lang.NoClassDefFoundError is thrown when trying to debug a CDC project</p>
         <p><b>Workaround:</b>  	Debugging doesn't work if you load a
         CDC Toolkit project to Mobility Pack for CDC. You must upgrade the project to Mobility Pack for CDC by going to the project's Properties, clicking OK and following the 
steps the IDE gives. </p>
      </blockquote>
	</li>
    <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=90647">Issue 90647:</a> Cannot change  device of Sony Ericsson UIQ platform
      within IDE
      <blockquote>
         <p><b>Description:</b> The target device of the platform cannot be changed in the IDE </p> 
         <p><b>Workaround:</b> Run SDKConfig.exe utility located in <span class="style1">&lt;install_dir&gt;</span>\UIQ3SDK\epoc32\tools\distrib\ where <span class="style1">&lt;install_dir&gt;</span> is the directory the Sony Ericsson UIQ3 emulator was installed on your computer. </p>
      </blockquote>
	</li>
    <li><a href="https://netbeans.org/bugzilla/show_bug.cgi?id=90654">Issue #90654:</a> 
      Projects built using  Mobility Pack for CDC 5.5 update1 fail after upgrading to FCS
        version 
        <blockquote>
         <p><b>Description:</b> Problem is caused by the  execution method being incorrect for the FCS version of CDC pack </p> 
         <p><b>Workaround:</b> Change project Properties to the Xlet execution method when upgrading projects using AGUI that were created with Mobility Pack for CDC 5.5 update1.
         </p>
      </blockquote>
	</li>
       <p align="center"><a href="#top">top</a></p>
        <a name="documentation"></a> 
        <h2>Documentation</h2>
        
  <p>In addition to the built-in help system, the NetBeans Mobility Pack for CDC 
    is documented through a series of tutorials and articles. For information 
    about the Java ME, CDC development features supported by the Mobility Pack 
    for CDC, see the following documents. <i>(See <a href="https://netbeans.org/kb/archive/index.html">NetBeans IDE Documentation Archives</a> for NetBeans 5.5 documents.)</i> </p>
  <ul>
    <li>NetBeans Mobility Pack for CDC 5.5 Quick Start Guide</li>
    <li><a href="">NetBeans Mobility Pack Learning
      Trail</a></li>
    <li>NetBeans Mobility Pack for CDC 5.5 Docs and Support Page</li>
  </ul>
  <blockquote> 
  <div class='greybox'></div>
</blockquote>
        <p align="center"><a href="#top">top</a></p>

        <a name="more_info"></a>
        <h2>More Information</h2> 
        <blockquote>
            
  <p>You can find news, articles, additional modules, and other useful information 
    on the NetBeans project web site. Since NetBeans and the NetBeans Mobility 
    Pack is an open-source project, the web site also provides access to source 
    code, a bug database, information on creating your own NetBeans modules, and 
    much more. </p>
            
  <p>For more information, visit <a href="http://mobility.netbeans.org/">http://mobility.netbeans.org/</a>. 
  </p>
            
  <p>You can keep up to date on NetBeans IDE and interact with the NetBeans community 
    by signing up for NetBeans Mobility Pack project mailing lists at <a href="https://netbeans.org/community/lists/">https://netbeans.org/community/lists/</a>. 
</blockquote>
        <p align="center"><a href="#top">top</a></p>
        
    </body>
</html>

