<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>OpenOffice.org 1.0 README</title>
</head>

<body>

<h2>Welcome</h2>

<p><i>Last updated: 2002-04-24</i></p>

<h2>OpenOffice.org 1.0 ReadMe</h2>

<p>For latest updates to this readme file, see <a href="readme.html">//welcome/readme.html</a>.</p>
<br />

<h3>Dear User</h3>

<p>This file contains important information about the OpenOffice.org 1.0 office suite. Please read this information very carefully before starting work.</p>

<p>The OpenOffice.org community, responsible for the development of this product, would like to invite you to participate as a community member. As a new
user, you can check out the <a href="../about_us/introduction.html">OpenOffice.org Introduction site</a> with helpful user information. Also read the
sections below of getting involved the OpenOffice.org project.</p>
<br />

<h3>Notes on Installation</h3>

<dl>
	<dt><b><a href="#systems">System Requirements</a></b></dt>
	<dd><a href="#linuxintel">Linux Intel</a></dd>
	<dd><a href="#windows">Windows</a></dd>
	<dd><a href="#solsparc">Solaris Sparc</a></dd>
	<dd><a href="#solintel">Solaris Intel</a></dd>
	<dd><a href="#linuxppc">Linux PowerPC</a></dd>
	<dt><b><a href="#common">Common Notes</a></b></dt>
	<dd><a href="#netwin">Network Installation: Error when calling the OpenOffice.org QuickStarter (Windows) </a></dd>
	<dd><a href="#uifont">Changing the User Interface Font</a></dd>
	<dd><a href="#deinstcde">Deinstalling a Network Installation Under Common Desktop Environment (CDE) (Solaris only)</a></dd>
	<dd><a href="#mozab">Mozilla Address Book Driver (Solaris only)</a></dd>
	<dd><a href="#reiser">File System ReiserFS: OpenOffice.org Will Not Start for User IDs Larger Than 65536</a></dd>
	<dd><a href="#filelock">File Locking</a></dd>
	<dd><a href="#infozip">Using Info-ZIP</a></dd>
	<dd><a href="#source">Used/Modified Source Code</a></dd>
	<dt><b><a href="#GettingInvolved">Getting Involved</a></b></dt>
	<dd><a href="#registration">Registration</a></dd>
	<dd><a href="#survey">User Survey</a></dd>
	<dd><a href="#issues">Report Bugs &amp; Issues</a></dd>
	<dd><a href="#subscribe">Subscribe</a></dd>
	<dd><a href="#marketing">Join one or more Projects</a></dd>
	<dd><a href="#support">User Support</a></dd>
	<dd><a href="#start">Way to start</a></dd>
</dl>
<br />

<h3>System Requirements<a name="systems"></a></h3>

<h4>Linux Intel<a name="linuxintel"></a></h4>

<ul>
  <li>Linux Kernel version 2.2.13 or higher</li>
  <li>glibc2 version 2.1.3 or higher</li>
  <li>Pentium compatible PC</li>
  <li>64 MB RAM</li>
  <li>250 MB available hard disk space</li>
  <li>X Server with 800x600 or higher resolution, with at least 256 colors</li>
  <li>Window Manager</li>
</ul>

<h4>Windows<a name="windows"></a></h4>

<ul>
  <li>Microsoft Windows 95, 98, ME, NT (Service Pack 6 or higher), 2000 or XP (Please note: Windows 95 requires a DCOM95 update.
  For further information, visit <a href="http://www.microsoft.com/com/dcom/dcom95/dcom1_3.asp">http://www.microsoft.com/com/dcom/dcom95/dcom1_3.asp</a>)</li>
  <li>Pentium compatible PC</li>
  <li>64 MB RAM</li>
  <li>250 MB available hard disk space</li>
  <li>800x600 DPI resolution or higher, at least 256 colors</li>
</ul>
<p>Note: Please be aware that administrator rights are needed for the installation process. </p>
<p>Make sure you have enough free memory in your temporary directory.</p>

<h4>Solaris Sparc<a name="solsparc"></a></h4>

<ul>
  <li>Solaris 7 operating system (SPARC platform) or higher (Solaris 8 recommended)</li>
  <li>128 MB RAM</li>
  <li>250 MB available hard disk space</li>
  <li>X Server with 800x600 or higher resolution, with at least 256 colors</li>
  <li>Window Manager</li>
</ul>

<p>Important information about the installation of OpenOffice.org on the Sun Solaris platform:</p>

<p>Before installing OpenOffice.org, one or more operating system patches from Sun Microsystems must be installed. You can download them at
<a href="http://sunsolve.sun.com">SunSolve</a>.</p>

<p>Operating system patches required:</p>

<ul>
  <li>for Solaris 7: 106327-08, 106300-09 (only 64 bit)</li> 
  <li>for Solaris 8: 108434-01, 108773-12, 108435-01 (only 64 bit)</li> 
</ul>

<p>The versions mentioned above are the minimum requirements, newer (higher) version numbers are also allowed.</p>

<h4>Solaris Intel<a name="solintel"></a></h4>

<ul>
  <li>Solaris 7 operating system (Intel platform) or higher (Solaris 8 recommended)</li>
  <li>64 MB RAM</li>
  <li>250 MB available hard disk space</li>
  <li>X Server with 800x600 or higher resolution, with at least 256 colors</li>
  <li>Window Manager</li>
</ul>

<p>Important information about the installation of OpenOffice.org on the Sun Solaris platform:</p>

<p>Before installing OpenOffice.org, one or more operating system patches from Sun Microsystems must be installed. You can download them at
<a href="http://sunsolve.sun.com">SunSolve</a>.</p>

<p>Operating system patches required:</p>

<ul>
  <li>for Solaris 7: 106328-08</li>
  <li>for Solaris 8: 108436-01, 108774-12</li>
</ul>

<p>The versions mentioned above are the minimum requirements, newer (higher) version numbers are also allowed.</p>

<h4>Linux PowerPC<a name="linuxppc"></a></h4>

<ul>
  <li>Linux Kernel version 2.2.13 or higher</li>
  <li>glibc2 version 2.2 or higher</li>
  <li>Macintosh PowerPC, IBM RS/6000, Motorola PreP or other Linux compatible PowerPC based hardware</li>
  <li>96 MB RAM</li>
  <li>250 MB available hard disk space</li>
  <li>X Server with 800x600 or higher resolution, with at least 256 colors</li>
  <li>Window Manager</li>
</ul>
<br />

<h3>Common Notes<a name="common"></a></h3>

<p>You can install OpenOffice.org 1.0 along side of an older version of OpenOffice.org. If you later choose to deinstall a previous version of
OpenOffice.org, you must call the setup program of the newer version and run the Repair option. This makes sure that the new version is correctly
registered in your system.</p>

<p>Make sure you have enough free memory in your temporary directory.</p>

<h4>Network Installation: Error When Calling the OpenOffice.org Quickstarter (Windows) <a name="netwin"></a></h4>

<p>If, when starting the system, problems should occur in calling the OpenOffice.org Quickstarter (e.g. invalid link), this is probably due to the fact
that the network drive on which the network installation is installed is not or not yet available.</p>

<p>In most cases, this happens when the network drives are logged in via a login script, thereby establishing the connection for the network drives
parallel to running the programs of the autostart group from which the Quickstarter is also started.</p>

<p>To avoid this problem, the network drive should be connected via the system's services. If this is not possible, the link used to call the Quickstarter
can be removed from the autostart group of the system, or the Quickstarter can already be disabled when installing the workstation installation. If the
system administrator already disabled the Quickstarter during installation of the network installation, then the Quickstarter cannot be selected by the
user in a later workstation installation.</p>

<h4>Changing the User Interface Font<a name="uifont"></a></h4>

<p>In OpenOffice.org you can change the font used for screen display and printing by replacing it with a different font installed on your system. This can
be done using the font replacement function. Choose Tools - Options - OpenOffice.org - Font Replacement to access this function.</p>

<p>To change the font of the OpenOffice.org user interface, you have to replace the default font "Andale Sans UI" with another font and mark the "always"
setting for this replacement.</p>

<p>Refer to the OpenOffice.org Help for a detailed explanation of the dialog.</p>

<h4>Deinstalling a Network Installation Under Common Desktop Environment (CDE) (Solaris) <a name="deinstcde"></a></h4>

<p>The shortcuts set in the CDE in a network installation are not automatically removed during deinstallation. Before deinstallation, enter as
Administrator (root) the following command line to remove the shortcuts from the CDE: /usr/dt/bin/dtappintegrate -u -s [path to OpenOffice.org].</p>

<p>Example: /usr/dt/bin/dtappintegrate -u -s /usr/local/openoffice.org1.0</p>

<h4>Mozilla Address Book Driver (Solaris only) <a name="mozab"></a></h4>

<p>The Mozilla address book driver requires the SUNWzlib package. This package is not part of the minimum Solaris operating system installation. If you
require access to the Mozilla address book, then add this package to your Solaris operating system using the command "pkgadd" from the installation CD.</p>

<h4>File System ReiserFS: OpenOffice.org Will Not Start for User IDs Larger Than 65535 <a name="reiser"></a></h4>

<p>In versions lower than 3.6, the file system ReiserFS causes a problem as soon as the user ID is larger than 65535. The problem is that files temporarily
saved by OpenOffice.org can no longer be removed by the program itself, but rather only by the system administrator (e.g. /tmp/OSL_PIPE_xxx ). The result
is that OpenOffice.org cannot be started. The problem is in the ReiserFS file system and has been fixed in version 3.6 and higher.</p>

<h4>File Locking<a name="filelock"></a></h4>

<p>In the default setting, file locking is turned off in OpenOffice.org. To activate it, you have to set the appropriate environment variables
SAL_ENABLE_FILE_LOCKING=1 and export SAL_ENABLE_FILE_LOCKING. These entries are already in disabled form in the soffice script file.</p>

<p>Warning: The activated file locking feature can cause problems with Solaris 2.5.1 and 2.7 used in conjunction with Linux NFS 2.0. If your system
environment has these parameters, we strongly recommend that you avoid using the file locking feature. Otherwise, OpenOffice.org will hang when you try to
open a file from a NFS mounted directory from a Linux computer.</p>

<h4>Using Info-ZIP<a name="infozip"></a></h4>

<p>OpenOffice.org uses Info-ZIP to create and unpack the OpenOffice.org installation, as well as for packing and unpacking the OpenOffice.org XML file
format. Info-ZIP programs (ZIP, UnZip and other utilities) are available free of charge and can be used in the source code and as an executable program.
They can be attained by visiting Anonymous FTP sites such as ftp.uu.net:/pub/archiving/zip/*.</p>

<h4>Used / Modified Source Code <a name="source"></a></h4>

<p>Portions Copyright 1998, 1999 James Clark. Portions Copyright 1996, 1998 Netscape Communications Corporation.</p>
<br />

<h3>Getting Involved<a name="GettingInvolved"></a></h3>

<p>The OpenOffice.org Community would very much benefit from your active participation in the development of this important open source project.</p>

<p>As a User, you are already a valuable part of the suite's development process and we would like to encourage you to take an even more active role with
a view to being a long-term contributor to the Community. Please join and checkout the user page at:
<a href="/">OpenOffice.org</a>.</p>

<h4>Registration<a name="registration"></a></h4>

<p>Please take a little time to complete the minimal Product Registration process when you install the software. While registration is optional, we
encourage you to register, since the information enables the Community to make an even better software suite and address User needs directly. Through its
Privacy Policy, the OpenOffice.org Community takes every precaution to safeguard your personal data. If you missed the registration at installation, you
can return and register at any time at <a href="registration-site.html">//welcome/registration-site.html</a>.</p>

<h4>User Survey<a name="survey"></a></h4>

<p>There is also a User Survey located online which we encourage you to fill out. The User Survey results will help OpenOffice.org move more rapidly in
setting new standards for the creation of the next-generation office suite. Through its Privacy Policy, the OpenOffice.org Community takes every precaution
to safeguard your personal data.</p>

<h4>Report Bugs &amp; Issues<a name="issues"></a></h4>

<p>The OpenOffice.org Web site hosts IssueZilla, our mechanism for reporting, tracking and solving bugs and issues. We encourage all Users to feel entitled
and welcome to report issues that may arise on your particular platform. Energetic reporting of issues is one of the most important contributions that the
User Community can make to the ongoing development and improvement of the suite.</p>

<h4>Subscribe<a name="subscribe"></a></h4>

<p>We have a few of the <a href="../mail_list.html">project mailing lists</a> to which you can subscribe to.</p>

<ul type="circle">
  <li>News: announce@openoffice.org <b>recommended to all users</b> (light traffic)</li>
  <li>User support: users@openoffice.apache.org <b>recommended to new users</b> (moderate traffic)</li>
  <li>Main user forum: users@openoffice.apache.org <b>Easy way to lurk on discussions</b> (heavy traffic)</li>
  <li>Marketing project:	marketing@openoffice.apache.org <b>beyond development</b> (getting heavy traffic)</li>
  <li>General code contributor list: dev@openoffice.apache.org (moderate/heavy traffic)</li>
  <li>Groupware:	groupware@whiteboard.openoffice.org (moderate traffic)</li>
</ul>

<h4>Join one or more Projects<a name="marketing"></a></h4>

<p>You can make major contributions to this important open source project even if you have limited software design or coding experience. Yes, you!</p>

<p>At <a href="/projects/index.html">/projects/index.html</a> you will find projects ranging from Localization,
Porting and Groupware to some real core coding projects. If you are not a developer, try the Documentation or the Marketing Project. The OpenOffice.org
Marketing Project is applying both guerrilla and traditional commercial techniques to marketing open source software, and we are doing it across language
and cultural barriers, so you can help just be spreading the word and telling a friend about this office suite.</p>

<p>You can help by joining the Marketing Communications &amp; Information Network here:
<a href="http://marketing.openoffice.org/contacts.html">http://marketing.openoffice.org/contacts.html</a> where you can provide point communication contact
with press, media, government agencies, consultants, schools, Linux Users Groups and developers in your country and local community.</p>

<h4>User Support<a name="support"></a></h4>

<p>For help with the OpenOffice.org 1.0 office suite, take a look at the archieves to questions already answered on the 'users@openoffice.apache.org' mailing list
at <a href="../mail_list.html">//mail_list.html</a>. Alternativeely, you can send in your questions to users@openoffice.apache.org.
Remember to subscribe to the list to  get an email response.</p>

<p>Also check the FAQ section, found on left hand navigation bar of the OpenOffice.org homepage. Frequently asked questions are posted here.</p>

<h4>Way to Start<a name="start"></a></h4>

<p>The best way to start contributing is to subscribe to one or more of the mailing lists, lurk for a while, and gradually use the mail archives to
familiarize yourself with many of the topics covered since the OpenOffice.org source code was released back in October 2000. When you're comfortable, all
you need to do is make an email self-introduction and jump right in. If you are familiar with Open Source Projects, check out our To-Dos list and see if
there is anything you would like to help with at <a href="../dev_docs/todos.html">//dev_docs/todos.html</a>.</p>
<br />

<p>We hope you enjoy working with the new OpenOffice.org 1.0 office suite and join us online.</p>

<p>The OpenOffice.org community</p>

</body>
</html>
