<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
    <HEAD>
        <TITLE>openoffice.org : graphics : chart project</TITLE>
        <META http-equiv="CONTENT-TYPE" content="text/html; charset=iso-8859-1">
        <META content="XEmacs" name="GENERATOR">
        <META content="20011402" name="CREATED">
    </HEAD>
    <body>
        <h2>OpenOffice.org Chart</h2>
        <img alt="screenshot" src="http://blogs.sun.com/GullFOSS/resource/chart/RightAngledAxis.png" align="right"></A>
        <p>
            The chart module was exchanged completely on the way to OpenOffice.org 2.3 (starting with SRC680_m213).
            This is the basis for further enhancements and long awaited features.
        </p>
        <h3>What's new?</h3>
        <li>
        <A href="http://wiki.services.openoffice.org/wiki/Chart2/Features3.3">New features in OOo 3.3</A>
        </li>
        <li>
        <A href="http://blogs.sun.com/GullFOSS/entry/new_chart_features_in_openoffice2">New features in OOo 3.2</A>
        </li>
        <li>
        <A href="http://blogs.sun.com/GullFOSS/entry/new_chart_features_in_openoffice1">New features in OOo 3.1</A>
        </li>
        <li>
        <A href="http://wiki.services.openoffice.org/wiki/Chart2/Features3.0">New features in OOo 3.0</A>
        </li>
        <li>
        <A href="http://wiki.services.openoffice.org/wiki/Chart2/Features2.4">New features in OOo 2.4</A>
        </li>        
        <li>
            <A href="http://wiki.services.openoffice.org/wiki/Chart2/Features2.3">New features in OOo 2.3</A>
        </li>
        </p>

        <br>
        <h3>Want to help?</h3>
        <p>
            You can help a lot with identifying problems and submitting issues! <A href="http://download.openoffice.org/next/">Download</A> one of the latest developer builds and give it a try. When you find a bug please check whether someone else already did submit an issue for that problem.
            The following list of open chart issues will help you with the research:
            <a href="http://openoffice.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=STARTED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&columnlist=votes%2Cshort_desc%2Ccf_bug_type&field-1-0-0=bug_status&field0-0-0=product&field0-0-1=short_desc&query_format=advanced&type-1-0-0=anyexact&type0-0-0=equals&type0-0-1=anywordssubstr&value-1-0-0=UNCONFIRMED%2CNEW%2CSTARTED%2CREOPENED%2CRESOLVED%2CVERIFIED&value0-0-0=Chart&value0-0-1=chart%20diagram&order=bugs.bug_id%20desc&query_based_on=">
            Open Chart Issues</a> . If the problem is unknown you
            are welcome to <A href="http://openoffice.org/bugzilla/enter_bug.cgi?product=Chart&component=ui&rep_platform=All&op_sys=All&cc=iha@openoffice.org">
                submit a new issue</A>. Please only describe one problem per issue. Thanks a lot for your help!
        </p>
        
        <p>
        For further involvement visit the <A href="http://wiki.services.openoffice.org/wiki/Chart2">Chart Wiki</A>. We are looking forward to your participation!
        </p>

    </body>
</HTML>
