NeoOffice 2.2.1 Release Tasks

From NeoWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 23:39, 19 August 2007 (edit)
( | contribs)
(Pre-Release to Early Access Members - Update task)
← Previous diff
Current revision (03:39, 1 September 2007) (edit) (undo)
Sardisson (Talk | contribs)
(Pre-Release to Early Access Members - at least for this release, two separate sets of bugs needed closing; adding a discrete task for the set of bugs patrick closed)
 
(36 intermediate revisions not shown.)
Line 339: Line 339:
</table> </table>
-== Website ==+== Pre-Release to Early Access Members==
<table width="100%" border="1"> <table width="100%" border="1">
Line 348: Line 348:
<tr> <tr>
- <tr> 
<td> <td>
- <p>Create 2.1 Early Access branch. This branches the existing website to avoid modifying existing website while it is live. Steps:</p>+ <p>Create 2.2.1 Early Access tag for the <tt>www.neooffice.org</tt> website to avoid modifying production web pages while we modify the web pages in the test website. Steps:</p>
<ul> <ul>
- <li>Construct a local checkout of the website: <tt>cvs co web/src/www</tt>.</li>+ <li>Construct a local checkout of the website: cvs co www_htdocs</li>
- <li><tt>cvs tag -b NeoOffice-2_1_Early_Access_branch web/src/www</tt></li>+ <li><tt>cd</tt> into the checkout directory and tag the checkout by invoking the following command: <tt>cvs tag NeoOffice-2_2_1_Early_Access
- <li>Login to www.planamesa.com</li>+</tt></li>
- <li><tt>cd www</tt></li>+ <li>Login to the <tt>www.neooffice.org</tt> server, <tt>cd</tt> to the its webroot directory, and set the tag by invoking the following command: <tt>cvs update -d -rNeoOffice-2_2_1_Early_Access ; chmod -Rf ug+rw .htaccess *</tt></li>
- <li><tt>cvs update -d -rNeoOffice-2_1_Early_Access_branch</tt></li>+
- <li>Login to hotspare www.neooffice.org</li>+
- <li><tt>cd /var/www/htdocs/download_root/</tt></li>+
- <li><tt>cvs update -d -rNeoOffice-2_1_Early_Access_branch</tt></li>+
- <li><tt>chmod -Rf ug+rw .* *</tt></li>+
</ul> </ul>
</td> </td>
- <td>03/17/07</td><td>OPENSTEP</td><td>Done</td>+ <td>08/16/2007</td><td>pluby</td><td>Done</td>
 + </tr>
 + 
 + <tr>
 + <td>Copy the 116 NeoOffice 2.2.1 installer <tt>NeoOffice-2.2.1-*.dmg</tt> files from the staging area (see [[#Builds|Builds]] section on this page for that task) into the URLs in listed in the <tt>www.neooffice.org</tt> website's <tt>/neojava/earlyaccessmirrors.php</tt> file and <tt>chmod 444</tt> the files.</td>
 + <td>08/17/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
<tr> <tr>
<td> <td>
- <p>Update all version names, file URLs, and patch version in all of the <tt>earlyaccess*.php</tt> files in the <tt>download.neooffice.org</tt> web pages.</p>+ <p>Update all version names, file URLs, and patch version in all of the <tt>earlyaccess*.php</tt> files in the <tt>www-test.neooffice.org</tt> web pages.</p>
<p>Note: I used the following steps to do this:</p> <p>Note: I used the following steps to do this:</p>
<ul> <ul>
- <li>Update the version name and file URLs by executing the following commands in the <tt>neojava</tt> directory of the web pages. Important: the script excludes the <tt>earlyaccess.php</tt> page as we do not want to remove "Early Access" from those pages:</li>+ <li>Update the version name and file URLs by executing the following commands in the <tt>/neojava</tt> directory of the web pages:</li>
<pre> <pre>
sh sh
-for i in `find . -name "earlyaccess*.php" -o -name "header.html" | grep -v "earlyaccess\.php"`; do+for i in `find . -name "earlyaccess*.php" -o -name "header.html"`; do
-sed 's#NeoOffice 2\.1 Early Access#NeoOffice 2.1#g' $i | \+sed 's#NeoOffice 2\.2\.1 Early Access#NeoOffice 2.2.1#g' $i | \
sed 's#_Early_Access##g' > $i.tmp sed 's#_Early_Access##g' > $i.tmp
mv $i.tmp $i mv $i.tmp $i
done done
</pre> </pre>
- <li>Manually edit the <tt>neojava/welcomelog.php</tt> page and add <tt>NeoOffice 2.1</tt> as another element in the <tt>$logproducts</tt> array.</li>+ <li>Reset the patch version to "Patch 0" by executing the following commands in the <tt>/neojava</tt> directory of the web pages.</li>
- <li>Reset the patch version to "Patch 0" by executing the following commands in the <tt>neojava</tt> directory of the web pages.</li>+
<pre> <pre>
sh sh
Line 391: Line 389:
</pre> </pre>
<li>Manually edit all of the <tt>earlyaccesspatch.php</tt> pages, uncomment the last table row (the one that says "No patches have been released") and comment out the other two table rows (the PowerPC and Intel patch links).</li> <li>Manually edit all of the <tt>earlyaccesspatch.php</tt> pages, uncomment the last table row (the one that says "No patches have been released") and comment out the other two table rows (the PowerPC and Intel patch links).</li>
- <li>Manually edit the <tt>neojava/donateredirect.php</tt> page, set <tt>$earlyaccessproduct</tt> to <tt>NeoOffice 2.1</tt>, set <tt>$earlyaccessproductfamily[0]</tt> to <tt>NeoOffice 2.1 Early Access</tt>, and set <tt>$earlyaccesspatch</tt> to <tt>Patch 0</tt>.</li>+ <li>Manually edit the <tt>/neojava/globals.php</tt> page, set <tt>$earlyaccessproduct</tt> to <tt>NeoOffice 2.2.1</tt>, set <tt>$earlyaccessproductfamily[0]</tt> to <tt>NeoOffice 2.2.1 Early Access</tt>, and set <tt>$earlyaccesspatch</tt> to <tt>Patch 0</tt>.</li>
 + <li>Manually edit the news banner text in all of the <tt>header.html</tt> pages.</li>
 + <li>After you verify the that changes look correct, invoke the following command to commit your changes: <tt>cvs commit ; chmod -Rf ug+rw .htaccess *</tt></li>
</ul> </ul>
</td> </td>
- <td>03/19/2007</td><td>pluby</td><td>Done</td>+ <td>08/17/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
<tr> <tr>
<td> <td>
- <p>Update the 114 language packs' file sizes in all of the <tt>earlyaccessdownload.php</tt> files in the <tt>download.neooffice.org</tt> web pages.</p>+ <p>Update the 116 file sizes in all of the <tt>earlyaccessdownload.php</tt> and <tt>earlyaccesslangpackdownload.php</tt> files in the <tt>www-test.neooffice.org</tt> web pages.</p>
<p>Note: I used the following steps to do this:</p> <p>Note: I used the following steps to do this:</p>
<ul> <ul>
- <li>Get a file containing the new release's file names and the matching file sizes from the NeoOffice 2.1 Early Access release by executing the following command:</li>+ <li>Login to the <tt>www-test.neooffice.org</tt> server, <tt>cd</tt> to the its webroot directory, and invoke the following command: <tt>cvs update -Ad ; chmod -Rf ug+rw .htaccess *</tt></li>
 + <li>Get a file containing the new release's file names and the matching file sizes from the NeoOffice 2.2.1 Early Access release by executing the following command:</li>
<pre> <pre>
-ls -l /directory/NeoOffice-2.1_Early_Access/binaries/*Language_Pack*.dmg | \+ls -l /directory/NeoOffice-2.2.1_Early_Access/binaries/NeoOffice-2.2.1_Early_Access-*.dmg | \
awk '{print $9 " " $5}' | \ awk '{print $9 " " $5}' | \
-sed 's#^.*NeoOffice-2.1_Early_Access#NeoOffice-2.1#' | \+sed 's#^.*NeoOffice-2.2.1_Early_Access#NeoOffice-2.2.1#' | \
sort > /path/to/a/new/file sort > /path/to/a/new/file
</pre> </pre>
<li>Get a file containing the new release's file names and the matching file sizes by executing the following commands:</li> <li>Get a file containing the new release's file names and the matching file sizes by executing the following commands:</li>
<pre> <pre>
-ls -l /directory/NeoOffice-2.1/binaries/*Language_Pack*.dmg | \+ls -l /directory/NeoOffice-2.2.1/binaries/NeoOffice-2.2.1-*.dmg | \
awk '{print $9 " " $5}' | \ awk '{print $9 " " $5}' | \
sort > /path/to/a/new/file sort > /path/to/a/new/file
Line 425: Line 426:
<li>Manually edit the file created in the last step and insert the following lines before the first <tt>sed</tt> command:</li> <li>Manually edit the file created in the last step and insert the following lines before the first <tt>sed</tt> command:</li>
<pre> <pre>
-for i in `find . -name "earlyaccessdownload.php" -o -name "header.html"`; do+for i in `find . -name "earlyaccessdownload.php" -o -name "earlyaccesslangpackdownload.php"`; do
cat $i | \ cat $i | \
</pre> </pre>
Line 434: Line 435:
done done
</pre> </pre>
- <li><tt>cd</tt> to the <tt>neojava</tt> directory and execute the following command to update all of the file sizes:</li>+ <li><tt>cd</tt> to the <tt>/neojava</tt> directory and execute the following command to update all of the file sizes:</li>
<pre> <pre>
sh /path/to/file/edited/in/last/step sh /path/to/file/edited/in/last/step
</pre> </pre>
 + <li>After you verify the that changes look correct, invoke the following command to commit your changes: <tt>cvs commit ; chmod -Rf ug+rw .htaccess *</tt></li>
</ul> </ul>
</td> </td>
- <td>03/19/07</td><td>pluby</td><td>Done</td>+ <td>08/17/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
<tr> <tr>
- <td>+ <td>Make the NeoOffice 2.2.1 binaries downloadable from the <tt>www.neooffice.org</tt> website's Early Access download pages by updating the <tt>www.neooffice.org</tt> website's pages to match what is in the <tt>www-test.neooffice.org</tt> website's pages. Login into the <tt>www.neooffice.org</tt> server, <tt>cd</tt> to the its webroot directory, and invoke the following command: <tt>cvs update -Ad ; chmod -Rf ug+rw .htaccess *</tt>.</td>
- <p>Create a 2.1 Early Access 2 branch. This branches the existing website to avoid modifying existing website while it is live. Important: do not <tt>cvs update</tt> either of the <tt>www.planamesa.com</tt> or <tt>www.neooffice.org</tt> servers. That will be done as part of the [[#Pre-Release_to_Early_Access_Members|Pre-Release]] tasks. Steps:</p>+ <td>08/19/2007</td><td>pluby</td><td>Done</td>
- <ul>+ </tr>
- <li>Construct a local checkout of the website: <tt>cvs co web/src/www</tt>.</li>+ 
- <li><tt>cvs tag -b NeoOffice-2_1_Early_Access_2_branch web/src/www</tt></li>+ <tr>
- </ul>+ <td>Add "2.2.1" as a version in [http://bugzilla.neooffice.org/ Bugzilla].</td>
 + <td>08/19/2007</td><td>pluby</td><td>Done</td>
 + </tr>
 + 
 + <tr>
 + <td><p>Close all bugs with a status of "Resolved" by setting the following field values:</p>
 + <ul>
 + <li>Set "Status" field to "Closed"</li>
 + <li>Set "Resolution" field to "Fixed"</li>
 + <li>Set "Target Version" field to "2.2.1"</li>
 + <li>Set "Closed in Version" field to "2.2.1"</li>
 + </ul>
</td> </td>
- <td>03/19/07</td><td>pluby</td><td>Done</td>+ <td>08/26/2007</td><td>sardisson</td><td>Done</td>
</tr> </tr>
<tr> <tr>
- <td>+ <td><p>Close any bugs with a status of "Assigned" and resolution of "Fixed" (bugs fixed in the release build after the final Early Access patch) by setting the following field values:</p>
- <p>Merge the updates made to the Early Access pages in the <tt>download.neooffice.org</tt> web pages to their matching regular pages.</p>+ <ul>
- <p>Note: use the following steps to complete this task:</p>+ <li>Set "Status" field to "Closed"</li>
- <ul>+ <li>Set "Resolution" field to "Fixed"</li>
- <li>Copy the applicable Early Access pages to their matching regular page by executing the following commands within the <tt>neojava</tt> directory:</li>+ <li>Set "Target Version" field to "2.2.1"</li>
-<pre>+ <li>Set "Closed in Version" field to "2.2.1"</li>
-sh+ </ul>
-for i in `find . -name "build.php" -o -name "download.php" -o -name "features.php" -o -name "patch.php"`; do+
-cp `dirname $i`/earlyaccess`basename $i` $i+
-done+
-</pre>+
- <li>Replace any Early Access links in the regular pages that were overwritten in the previous step by executing the following commands within the <tt>neojava</tt> directory:</li>+
-<pre>+
-sh+
-for i in `find . -name "build.php" -o -name "download.php" -o -name "features.php" -o -name "patch.php"`; do+
-sed 's#href="earlyaccess#href="#g' $i | \+
-sed 's#NeoOffice Early Access Program#NeoOffice#g' > $i.tmp+
-mv $i.tmp $i+
-done+
-</pre>+
- <li>Manually edit all of the <tt>download.php</tt> pages, put back the old <tt><a name="download"></tt> section, change any <tt>NeoOffice 2.0 Aqua Beta 3</tt> or <tt>NeoOffice 2.0 Aqua B 3</tt> references to <tt>NeoOffice 2.1</tt>, change any <tt>NeoOffice-2.0_Aqua_Beta_3</tt> references to <tt>NeoOffice-2.1</tt>, and update the two file sizes in this section to the new file sizes.</li>+
- <li>Manually edit all of the <tt>header.html</tt> pages, uncomment the "Download NeoOffice 2.1 for free" table row, and comment out all of the other Early Access table rows.</li>+
- <li>Manually edit all of the <tt>index.php</tt> pages, copy the "29 August 2006" line in the "News" section to a new line above it, change the date and version numbers in the new line, and delete the sentence with the download link in the 29 August 2006 line.</li>+
- <li>Make the Early Access snapshot the snapshot for the <tt>index.php</tt> pages by executing the following commands in the <tt>neojava/images</tt> directory:</li>+
-<pre>+
-sh+
-for i in `find . -name "sample.*"`; do+
-cp `dirname $i`/earlyaccess`basename $i` $i+
-done+
-</pre>+
- <li>Manually edit all of the <tt>paypalearlyaccess*.php</tt> pages so that users cannot accidently buy Early Access memberships by commenting out the <tt><form>...</form></tt> block, commenting out the PHP <tt>include</tt> command in the <tt><form>...</form></tt> block, and uncommenting the table at the end of the page.</li>+
- <li>Manually edit the <tt>neojava/welcomelog.php</tt> page, delete all of the <tt>$logproducts</tt> array elements except the first, and set the first to an empty string.</li>+
- <li>Manually edit the <tt>neojava/donateredirect.php</tt> page, set <tt>$earlyaccessproduct</tt> to an empty string, set <tt>$earlyaccessproductfamily[0]</tt> to an empty string, set <tt>$currentproduct</tt> to <tt>NeoOffice 2.1</tt> and set <tt>$currentpatch</tt> to <tt>Patch 0</tt>.</li>+
- <li>Manually edit the <tt>neojava/.htaccess</tt> file and uncomment the <tt>RedirectMatch</tt> directive that redirects requests for all <tt>*earlyaccess*.php</tt> pages.</li>+
- <li>Checkout the pages in a test area of <tt>download.neooffice.org</tt> server and make sure that the download links, patch page, and donation buttons still work. Once verified, delete checkout from the test area.</li>+
- </ul>+
</td> </td>
- <td>03/24/2007</td><td>Narf</td><td>03/25/2007</td>+ <td>08/19/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
<tr> <tr>
- <td>Obtain the 2 <tt>NeoOffice-2.1-*.torrent</tt> files from the <tt>mirrors.freesmug.org</tt> mirror maintainer and <tt>cvs add</tt> these 2 files in the <tt>neojava/downloads</tt> directory on <tt>download.neooffice.org</tt> website</td>+ <td>Post a release announcement to the [http://www.neooffice.org/neojava/contact.php NeoJUpdate mailing list].</td>
- <td>03/25/07</td><td>pluby</td><td>Done</td>+ <td>08/19/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
<tr> <tr>
- <td>+ <td>Delete the 116 obsolete NeoOffice 2.2.1 Early Access <tt>NeoOffice-2.2.1_Early_Access-*.dmg</tt> files from the URLs in listed in the <tt>www.neooffice.org</tt> website's <tt>/neojava/earlyaccessmirrors.php</tt> file.</td>
- <p>Create a <tt>neojava/press_releases</tt> directory and <tt>cvs add</tt> it to the <tt>download.neooffice.org</tt>. Obtain each localized version of the NeoOffice 2.1 press release in HTML format and save them in this directory using the following naming format so that the webserver's language detection will serve the closest matching file, and <tt>cvs add</tt> them:</p>+ <td>08/19/2007</td><td>pluby</td><td>Done</td>
- <ul>+ </tr>
- <li>English - Save as two files: <tt>NeoOffice_2.1.html.en</tt> and <tt>NeoOffice_2.1.html.html</tt></li>+ 
- <li>Other languages - Save using the format <tt>NeoOffice_2.1.html.<two-digit-language-code></tt> replacing <tt><two-digit-language-code></tt> with the standard language code (e.g. <tt>de</tt> for German, <tt>fr</tt> for French, etc.</li>+ <tr>
- </ul>+ <td>Delete the 2 obsolete NeoOffice 2.2.1 Early Access patch installer <tt>NeoOffice-2.2.1_Early_Access-Patch-*.dmg</tt> files from the URLs in listed in the <tt>www.neooffice.org</tt> website's <tt>/neojava/en/earlyaccesspatch.php</tt> file.</td>
- </td>+ <td>08/19/2007</td><td>pluby</td><td>Done</td>
- <td>03/25/07</td><td>pluby</td><td>Done for English</td>+
</tr> </tr>
Line 529: Line 512:
</tr> </tr>
- <tr bgcolor="lightgreen">+ <tr>
- <td>Notify the mirror maintainers that we will be pushing new binaries out to them a few days before the 27 August 2007 release date so that they can prepare for the huge surge in bandwidth usage that their servers will get in the first month or so after release.</td>+ <td>Upload the 116 RetroOffice installer <tt>RetroOffice-2.2.1-*.dmg</tt> to the <tt>www.planamesa.org</tt> server's <tt>/retro/downloads</tt> directory.</td>
- <td></td><td>pluby</td><td></td>+ <td>08/16/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
- <tr bgcolor="lightgreen">+ <tr>
 + <td>Notify the mirror maintainers that we will be pushing new NeoOffice binaries out to them a few days before the 27 August 2007 release date so that they can prepare for the huge surge in bandwidth usage that their servers will get in the first month or so after release.</td>
 + <td>08/20/2007</td><td>pluby</td><td>Done</td>
 + </tr>
 + 
 + <tr>
<td> <td>
- <p>Remove NeoOffice 1.2.2 binaries from mirrors after completing the removal of the links NeoOffice 1.2.2 download pages from the <tt>download.neooffice.org</tt> website (see [[#Website|Website]] section on this page for that task).</p>+ <p>Make room for the new NeoOffice binaries by removing the NeoOffice Aqua Beta 3 binaries from the <tt>www.planamesa.org</tt> and <tt>eap.neooffice.org</tt> mirror sites.</p>
<p>Note: the following steps were used to complete this task:</p> <p>Note: the following steps were used to complete this task:</p>
<ul> <ul>
- <li>Delete all <tt>*1.2.2*.dmg</tt> files from both of the <tt>www.planamesa.net</tt> and <tt>www.planamesa.org</tt> servers.</li>+ <li>Login to the <tt>www.neooffice.org</tt> server, <tt>cd</tt> to the its webroot directory, and invoke the following command: <tt>cvs update -Ad ; chmod -Rf ug+rw .htaccess *</tt>.</li>
- <li>Contact the rsync server maintainer and have them delete all <tt>*1.2.2*.dmg</tt> files on the rsync server.</li>+ <li>Comment out the <tt>www.planamesa.net</tt> and <tt>www.planamesa.org</tt> servers from the <tt>/neojava/mirrors.php</tt> file in the <tt>www.neooffice.org</tt> website's <tt>/neojava/mirrors.php</tt> file and invoke the following command to commit your changes: <tt>cvs commit ; chmod -Rf ug+rw .htaccess *</tt>.</li>
- <li>After the files have been deleted from the rsync server, wait 48 hours and verify that these files have been deleted from the mirrors listed in the <tt>download.neooffice.org</tt> website's <tt>neojava/mirrors.php</tt> file.</li>+ <li>Delete all <tt>NeoOffice-2.1-*.dmg</tt> files from both of the <tt>www.planamesa.net</tt> and <tt>www.planamesa.org</tt> servers.</li>
- <li>Contact any mirror maintainers that still have these files to confirm that they are rsynching to the rsync server regularly.</li>+
</ul> </ul>
</td> </td>
- <td></td><td>pluby</td><td></td>+ <td>08/20/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
- <tr bgcolor="lightgreen">+ <tr>
- <td>Provide list of 116 URLs of binaries and their respective file sizes to the rsync server maintainer so that the rsync server can copy them to the rsync server.</td>+ <td>3 business days before the release, copy the 116 NeoOffice installer <tt>NeoOffice-2.2.1-*.dmg</tt> files into the <tt>rsync.neooffice.org</tt> server's <tt>/neojava/downloads</tt> directory so that the files will be picked up by the mirrors in their next nightly run.</td>
- <td></td><td>pluby</td><td></td>+ <td>08/21/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
- <tr bgcolor="lightgreen">+ <tr>
- <td>Verify that the binaries are available from the rsync server and verify that each of the mirrors has synched them to their site. Try to contact any mirrors that have not synched to see if their is any problem or if the site can no longer be a mirror.</td>+ <td>Copy the 116 NeoOffice installer <tt>NeoOffice-2.2.1-*.dmg</tt> files from the <tt>rsync.neooffice.org</tt> server's <tt>/neojava/downloads</tt> directory to the <tt>www.planamesa.net</tt> and <tt>www.planamesa.org</tt> servers' <tt>/neojava/downloads</tt> directory.</td>
- <td></td><td>pluby</td><td></td>+ <td>08/21/2007</td><td>pluby</td><td>Done</td>
- </tr>+
- +
- <tr bgcolor="lightgreen">+
- <td>+
- <p>Make room for the new binaries by removing the NeoOffice Aqua Beta 3 binaries from the <tt>www.planamesa.org</tt> and <tt>eap.neooffice.org</tt> mirror sites.</p>+
- <p>Note: the following steps were used to complete this task:</p>+
- <ul>+
- <li>Delete all <tt>*Aqua_Beta_3*.dmg</tt> files from both of the <tt>www.planamesa.net</tt> and <tt>www.planamesa.org</tt> servers.</li>+
- <li>Remove the <tt>www.planamesa.net</tt> and <tt>www.planamesa.org</tt> servers from the <tt>neojava/mirrors.php</tt> file in the <tt>download.neooffice.org</tt> website.</li>+
- <li>Login to www.planamesa.com</li>+
- <li>cd www</li>+
- <li>cvs update -d -rNeoOffice-2_1_Early_Access_2_branch</li>+
- <li>Login to hotspare www.neooffice.org</li>+
- <li>cd /var/www/htdocs/download_root/</li>+
- <li>cvs update -d -rNeoOffice-2_1_Early_Access_branch</li>+
- </ul>+
- </td>+
- <td></td><td>pluby</td><td></td>+
- </tr>+
- +
- <tr bgcolor="lightgreen">+
- <td>Upload the binaries to the <tt>www.planamesa.org</tt> and <tt>eap.neooffice.org</tt> mirror sites listed in the <tt>neojava/mirrors.php</tt> file on the <tt>download.neooffice.org</tt> website.</td>+
- <td></td><td>pluby</td><td></td>+
</tr> </tr>
</table> </table>
-== Pre-Release to Early Access Members==+== Website ==
<table width="100%" border="1"> <table width="100%" border="1">
Line 593: Line 557:
<tr> <tr>
<td> <td>
- <p>Create 2.2.1 Early Access tag for the <tt>www.neooffice.org</tt> website to avoid modifying production web pages while we modify the web pages in the test website. Steps:</p>+ <p>Create 2.2.1 Early Access branch for the <tt>www.neooffice.org</tt> website to avoid modifying production web pages while we modify the web pages in the test website. Steps:</p>
<ul> <ul>
<li>Construct a local checkout of the website: cvs co www_htdocs</li> <li>Construct a local checkout of the website: cvs co www_htdocs</li>
- <li><tt>cd</tt> into the checkout directory and tag the checkout by invoking the following command: <tt>cvs tag NeoOffice-2_2_1_Early_Access+ <li><tt>cd</tt> into the checkout directory and tag the checkout by invoking the following command: <tt>cvs tag -b NeoOffice-2_2_1_Early_Access_branch
</tt></li> </tt></li>
- <li>Login to the <tt>www.neooffice.org</tt> server, <tt>cd</tt> to the its webroot directory, and set the tag by invoking the following command: <tt>cvs update -d -rNeoOffice-2_2_1_Early_Access ; chmod -Rf ug+rw .htaccess *</tt></li>+ <li>Login to the <tt>www.neooffice.org</tt> server, <tt>cd</tt> to the its webroot directory, and set the tag by invoking the following command: <tt>cvs update -d -rNeoOffice-2_2_1_Early_Access_branch ; chmod -Rf ug+rw .htaccess *</tt></li>
</ul> </ul>
</td> </td>
- <td>08/16/2007</td><td>pluby</td><td>Done</td>+ <td>08/20/2007</td><td>pluby</td><td>Done</td>
- </tr>+
- +
- <tr>+
- <td>Copy the 116 NeoOffice 2.2.1 installer <tt>NeoOffice-2.2.1-*.dmg</tt> files from the staging area (see [[#Builds|Builds]] section on this page for that task) into the URLs in listed in the <tt>www.neooffice.org</tt> website's <tt>/neojava/earlyaccessmirrors.php</tt> file and <tt>chmod 444</tt> the files.</td>+
- <td>08/17/2007</td><td>pluby</td><td>Done</td>+
</tr> </tr>
<tr> <tr>
<td> <td>
- <p>Update all version names, file URLs, and patch version in all of the <tt>earlyaccess*.php</tt> files in the <tt>www-test.neooffice.org</tt> web pages.</p>+ <p>Update all NeoOffice 2.2.1 version names, file URLs, and patch version in all of the non Early Access <tt>*.php</tt> files in the <tt>www-test.neooffice.org</tt> web pages.</p>
<p>Note: I used the following steps to do this:</p> <p>Note: I used the following steps to do this:</p>
<ul> <ul>
- <li>Update the version name and file URLs by executing the following commands in the <tt>neojava</tt> directory of the web pages:</li>+ <li>Copy all of the <tt>earlyaccessfeatures.php</tt> pages to the <tt>features.php</tt> pages by executing the following commands in the <tt>/neojava</tt> directory of the web pages:</li>
<pre> <pre>
sh sh
-for i in `find . -name "earlyaccess*.php" -o -name "header.html"`; do+for i in `find . -name "features.php"`; do
-sed 's#NeoOffice 2\.2\.1 Early Access#NeoOffice 2.2\.1#g' $i | \+cp `dirname $i`/earlyaccess`basename $i` $i
-sed 's#_Early_Access##g' > $i.tmp+done
 +</pre>
 + <li>Manually edit all of the <tt>features.php</tt> pages and delete all occurrences of "Early Access Program".</li>
 + <li>Manually edit all of the <tt>features.php</tt> pages and delete the following 2 PHP code blocks:</li>
 +<pre>
 +&lt;?php
 + include('../earlyaccesslogincheck.php');
 +?&gt;
 +</pre>
 +<pre>
 + if ($earlyaccessdownloadenabled && $_SESSION[DONATIONSUSERSESSIONKEY]) {
 + printLogoutLink();
 + }
 +</pre>
 + <li>Update the version name and file URLs by executing the following commands in the <tt>/neojava</tt> directory of the web pages:</li>
 +<pre>
 +sh
 +for i in `find . -name "*.php" -o -name "header.html" | grep -v earlyaccess`; do
 +sed 's#NeoOffice 2\.1#NeoOffice 2.2.1#g' $i | \
 +sed 's#NeoOffice-2\.1#NeoOffice-2.2.1#g' | \
 +sed 's#NeoOffice-2_1#NeoOffice-2_2_1#g' | \
 +sed 's# 2\.1 # 2.2.1 #g' | \
 +sed 's#\*2\.1\*#*2.2.1*#g' > $i.tmp
mv $i.tmp $i mv $i.tmp $i
done done
</pre> </pre>
- <li>Reset the patch version to "Patch 0" by executing the following commands in the <tt>neojava</tt> directory of the web pages.</li>+ <li>Reset the patch version to "Patch 0" by executing the following commands in the <tt>/neojava</tt> directory of the web pages.</li>
<pre> <pre>
sh sh
-for i in `find . -name "earlyaccesspatch.php" -o -name "header.html"`; do+for i in `find . -name "patch.php" -o -name "header.html"`; do
-sed 's#Patch 2#Patch 0#g' $i | \+sed 's#Patch 7#Patch 0#g' $i | \
-sed 's#Patch-2#Patch-0#g' > $i.tmp+sed 's#Patch-7#Patch-0#g' > $i.tmp
mv $i.tmp $i mv $i.tmp $i
done done
</pre> </pre>
- <li>Manually edit all of the <tt>earlyaccesspatch.php</tt> pages, uncomment the last table row (the one that says "No patches have been released") and comment out the other two table rows (the PowerPC and Intel patch links).</li>+ <li>Manually edit all of the <tt>patch.php</tt> pages, uncomment the last table row (the one that says "No patches have been released") and comment out the other two table rows (the PowerPC and Intel patch links).</li>
- <li>Manually edit the <tt>neojava/globals.php</tt> page, set <tt>$earlyaccessproduct</tt> to <tt>NeoOffice 2.2.1</tt>, set <tt>$earlyaccessproductfamily[0]</tt> to <tt>NeoOffice 2.2.1 Early Access</tt>, and set <tt>$earlyaccesspatch</tt> to <tt>Patch 0</tt>.</li>+ <li>Manually edit the <tt>/neojava/globals.php</tt> page and set the following variables to the following values:</li>
- <li>Manually edit the news banner text in all of the <tt>header.html</tt> pages.</li>+<pre>
 +$earlyaccessdownloadenabled = false;
 +$earlyaccessredirectenabled = true;
 +$earlyaccessproduct = '';
 +$earlyaccessproductfamily[0] = '';
 +$earlyaccesspatch = 'Patch 0';
 +$earlyaccesspatchpage = 'earlyaccesspatch.php';
 +$currentproduct = 'NeoOffice 2.2.1';
 +$currentproductfamily[0] = '';
 +$currentpatch = 'Patch 0';
 +$currentpatchpage = 'patch.php';
 +$currentpatchhidemirrors = true;
 +</pre>
 + <li>Manually edit the news banner text in all of the <tt>header.html</tt> pages and comment out all Early Access Program table rows and uncomment and update the non-Early Access Program table rows.</li>
 + <li>Manually edit all of the <tt>index.php</tt> pages, change the version in the "27 March 2007" line in the "News" section back to "NeoOffice 2.1", copy the edited "27 March 2007" line to a new line above it, change the date and version numbers in the new line, delete the sentence with the download link in the "27 March 2007" line, and delete the "1 July 2006" line.</li>
 + <li>Manually edit all of the <tt>maindownload.php</tt> pages and comment out the BitTorrent links.</li>
<li>After you verify the that changes look correct, invoke the following command to commit your changes: <tt>cvs commit ; chmod -Rf ug+rw .htaccess *</tt></li> <li>After you verify the that changes look correct, invoke the following command to commit your changes: <tt>cvs commit ; chmod -Rf ug+rw .htaccess *</tt></li>
</ul> </ul>
</td> </td>
- <td>08/17/2007</td><td>pluby</td><td>Done</td>+ <td>08/21/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
 +
 + <tr>
 + <td>Comment out all of the non-patch mirrors in the <tt>www-test.neooffice.org</tt> website's <tt>/neojava/mirrors.php</tt> file and invoke the following command to commit your changes: <tt>cvs commit ; chmod -Rf ug+rw .htaccess *</tt>.</td>
 + <td>08/21/2007</td><td>pluby</td><td>Done</td>
 + <tr>
 +
 + <tr>
 + <td><tt>cvs remove</tt> the 2 obsolete <tt>NeoOffice-2.1-*.torrent</tt> files from the Comment out all of the non-patch mirrors in the <tt>www-test.neooffice.org</tt> website's <tt>/neojava/downloads</tt> directory and invoke the following command to commit your changes: <tt>cvs commit ; chmod -Rf ug+rw .htaccess *</tt>.</td>
 + <td>08/21/2007</td><td>pluby</td><td>Done</td>
 + <tr>
<tr> <tr>
<td> <td>
- <p>Update the 116 file sizes in all of the <tt>earlyaccessdownload.php</tt> and <tt>earlyaccesslangpackdownload.php</tt> files in the <tt>www-test.neooffice.org</tt> web pages.</p>+ <p>Update the 116 NeoOffice 2.2.1 file sizes in all of the <tt>maindownload.php</tt> and <tt>langpackdownload.php</tt> files in the <tt>/neojava</tt> directory of the <tt>www-test.neooffice.org</tt> server's web pages.</p>
<p>Note: I used the following steps to do this:</p> <p>Note: I used the following steps to do this:</p>
<ul> <ul>
<li>Login to the <tt>www-test.neooffice.org</tt> server, <tt>cd</tt> to the its webroot directory, and invoke the following command: <tt>cvs update -Ad ; chmod -Rf ug+rw .htaccess *</tt></li> <li>Login to the <tt>www-test.neooffice.org</tt> server, <tt>cd</tt> to the its webroot directory, and invoke the following command: <tt>cvs update -Ad ; chmod -Rf ug+rw .htaccess *</tt></li>
- <li>Get a file containing the new release's file names and the matching file sizes from the NeoOffice 2.2.1 Early Access release by executing the following command:</li>+ <li>Get a file containing the new release's file names and the matching file sizes from the NeoOffice 2.1 release by executing the following command:</li>
<pre> <pre>
-ls -l /directory/NeoOffice-2.2.1_Early_Access/binaries/NeoOffice-2.2.1_Early_Access-*.dmg | \+ls -l /directory/NeoOffice-2.1/binaries/NeoOffice-2.1-*.dmg | \
awk '{print $9 " " $5}' | \ awk '{print $9 " " $5}' | \
-sed 's#^.*NeoOffice-2.2.1_Early_Access#NeoOffice-2.2.1#' | \+sed 's#^.*NeoOffice-2.1#NeoOffice-2.2.1#' | \
sort > /path/to/a/new/file sort > /path/to/a/new/file
</pre> </pre>
Line 670: Line 676:
<li>Manually edit the file created in the last step and insert the following lines before the first <tt>sed</tt> command:</li> <li>Manually edit the file created in the last step and insert the following lines before the first <tt>sed</tt> command:</li>
<pre> <pre>
-for i in `find . -name "earlyaccessdownload.php" -o -name "earlyaccesslangpackdownload.php"`; do+for i in `find . -name "maindownload.php" -o -name "langpackdownload.php"`; do
cat $i | \ cat $i | \
</pre> </pre>
Line 679: Line 685:
done done
</pre> </pre>
- <li><tt>cd</tt> to the <tt>neojava</tt> directory and execute the following command to update all of the file sizes:</li>+ <li><tt>cd</tt> to the <tt>/neojava</tt> directory and execute the following command to update all of the file sizes:</li>
<pre> <pre>
sh /path/to/file/edited/in/last/step sh /path/to/file/edited/in/last/step
Line 686: Line 692:
</ul> </ul>
</td> </td>
- <td>08/17/2007</td><td>pluby</td><td>Done</td>+ <td>08/21/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
<tr> <tr>
- <td>Make the NeoOffice 2.2.1 binaries downloadable from the <tt>www.neooffice.org</tt> website's Early Access download pages by updating the <tt>www.neooffice.org</tt> website's pages to match what is in the <tt>www-test.neooffice.org</tt> website's pages. Login into the <tt>www.neooffice.org</tt> server, <tt>cd</tt> to the its webroot directory, and invoke the following command: <tt>cvs update -Ad ; chmod -Rf ug+rw .htaccess *</tt>.</td>+ <td>
- <td>08/19/2007</td><td>pluby</td><td>Done</td>+ <p>Create RetroOffice 2.2.1 pages in the <tt>www-test.neooffice.org</tt> web pages.</p>
 + <p>Note: I used the following steps to do this:</p>
 + <ul>
 + <li>Copy all NeoOffice 2.2.1 pages from the <tt>/neojava</tt> directory by executing the following commands in the <tt>/retro</tt> directory of the web pages:</li>
 +<pre>
 +sh
 +for i in `cd ../neojava ; find . -name ".htaccess" -o -name "*.php*" -o -name "*.html*" | \
 +grep -v downloads | grep -v earlyaccess | \
 +grep -v featurereqs | grep -v press_releases`; do
 +sed 's#NeoOffice#RetroOffice#g' ../neojava/$i | \
 +sed 's#neojava/404#retro/404#g' &gt; $i
 +cvs add $i
 +done
 +</pre>
 + <li>Correct the make targets and build directories by executing the following commands in the <tt>/retro</tt> directory of the web pages.</li>
 +<pre>
 +sh
 +for i in `find . -name "build.php"`; do
 +sed 's#install/#install_X11/#g' $i | \
 +sed 's#package&lt;#package_X11#g' &gt; $i.tmp
 +mv $i.tmp $i
 +done
 +</pre>
 + <li>Manually edit the <tt>mirror.php</tt> page and replace all of the NeoOffice URLs with the applicable RetroOffice URLs.</li>
 + <li>Manually edit all of the <tt>header.html</tt> pages, comment out the "Trinity" and "Bugzilla" links in the second header link block, replace the "Early Access Program" link in the third header link block with a <tt>NeoOffice&lt;sup&gt;&amp;reg;&lt;/sup&gt;</tt> link that is linked to <tt>../../neojava/</tt>, and replace all occurrences of <tt>RetroOffice&lt;sup&gt;&amp;reg;&lt;/sup&gt;</tt> with <tt>RetroOffice&lt;sup&gt;TM&lt;sup&gt;</tt>.</li>
 + <li>Manually edit all of the <tt>footer.html</tt> pages, create a new line that is a copy of the "RetroOffice" line just below it, remove the "registered" adjective from the first "RetroOffice" line, and change "RetroOffice" to "NeoOffice" in the second "RetroOffice" line.</li>
 + <li>Manually edit all of the <tt>contact.php</tt> pages and change the wording to reflect that there is no Trinity Forums for RetroOffice.</li>
 + <li>Manually edit all of the <tt>download.php</tt> pages and add a warning that RetroOffice is an X11 application.</li>
 + <li>Manually edit all of the <tt>donate.php</tt> and <tt>faq.php</tt> pages and modify wording to reflect the more limited support and development scope of RetroOffice.</li>
 + <li>Manually edit all of the <tt>features.php</tt> pages, add a warning that RetroOffice is an X11 application, delete NeoOffice features that are not supported by RetroOffice, and replace the "Missing Features" section with a "Limitations" section.</li>
 + <li>Manually edit all of the <tt>index.php</tt> pages, delete all news entries other than the "27 August 2007" one, and change the product description to reflect that RetroOffice is an X11 application.</li>
 + <li>Manually edit all of the <tt>maindownload.php</tt> pages and delete any BitTorrent links.</li>
 + <li>Manually edit all of the <tt>patch.php</tt> pages and change the wording to reflect that RetroOffice patches result from Neooffice bug fixes.</li>
 + <li>Manually edit all of the <tt>thankyou.php</tt> pages and remove the references to "bug fixing" and "support and testing forums".</li>
 + <li>Manually edit all of the <tt>welcome.php</tt> pages and merge the wording changes in the <tt>contact.php</tt> and <tt>index.php</tt> pages.</li>
 + <li>After you verify the that changes look correct, invoke the following command to commit your changes: <tt>cvs commit ; chmod -Rf ug+rw .htaccess *</tt></li>
 + </ul>
 + </td>
 + <td>08/25/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
<tr> <tr>
- <td>Add "2.2.1" as a version in [http://bugzilla.neooffice.org/ Bugzilla].</td>+ <td>
- <td>08/19/2007</td><td>pluby</td><td>Done</td>+ <p>Update the 116 RetroOffice 2.2.1 file sizes in all of the <tt>maindownload.php</tt> and <tt>langpackdownload.php</tt> files in the <tt>/retro</tt> directory of the <tt>www-test.neooffice.org</tt> server's web pages.</p>
 + <p>Note: I used the following steps to do this:</p>
 + <ul>
 + <li>Login to the <tt>www-test.neooffice.org</tt> server, <tt>cd</tt> to the its webroot directory, and invoke the following command: <tt>cvs update -Ad ; chmod -Rf ug+rw .htaccess *</tt></li>
 + <li>Get a file containing the new release's file names and the matching file sizes from the NeoOffice 2.2.1 release by executing the following command:</li>
 +<pre>
 +ls -l /directory/NeoOffice-2.2.1/binaries/NeoOffice-2.2.1-*.dmg | \
 +awk '{print $9 " " $5}' | \
 +sed 's#^.*NeoOffice-2.2.1#RetroOffice-2.2.1#' | \
 +sort > /path/to/a/new/file
 +</pre>
 + <li>Get a file containing the new release's file names and the matching file sizes by executing the following commands:</li>
 +<pre>
 +ls -l /directory/RetroOffice-2.2.1/binaries/RetroOffice-2.2.1-*.dmg | \
 +awk '{print $9 " " $5}' | \
 +sort > /path/to/a/new/file
 +</pre>
 + <li>Create a chained list of <tt>sed</tt> commands by executing the following command:</li>
 +<pre>
 +join /file/from/first/step /file/from/second/step | \
 +sed 's#^.*dmg ##' | \
 +sed 's# #\##' | \
 +sed 's#^#sed "s\##' | \
 +sed 's#$#\#g" | \\#' > /path/to/a/new/file
 +</pre>
 + <li>Manually edit the file created in the last step and insert the following lines before the first <tt>sed</tt> command:</li>
 +<pre>
 +for i in `find . -name "maindownload.php" -o -name "langpackdownload.php"`; do
 +cat $i | \
 +</pre>
 + <li>Manually edit the same file and insert the following lines after the last <tt>sed</tt> command:</li>
 +<pre>
 +cat > $i.tmp
 +mv $i.tmp $i
 +done
 +</pre>
 + <li><tt>cd</tt> to the <tt>/retro</tt> directory and execute the following command to update all of the file sizes:</li>
 +<pre>
 +sh /path/to/file/edited/in/last/step
 +</pre>
 + <li>After you verify the that changes look correct, invoke the following command to commit your changes: <tt>cvs commit ; chmod -Rf ug+rw .htaccess *</tt></li>
 + </ul>
 + </td>
 + <td>08/24/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
- <tr>+ <tr bgcolor="lightgreen">
- <td><p>Close all bugs with a status of "Resolved" by setting the following field values:</p>+ <td>
- <ul>+ <p>Enable the BitTorrent links using the following steps:</p>
- <li>Set "Status" field to "Closed"</li>+ <ul>
- <li>Set "Resolution" field to "Fixed"</li>+ <li>Obtain the 2 <tt>NeoOffice-2.2.1-*.torrent</tt> files from the <tt>mirrors.freesmug.org</tt> mirror maintainer and <tt>cvs add</tt> these 2 files in the <tt>www-test.neooffice.org</tt> website's <tt>/neojava/downloads</tt> directory.</li>
- <li>Set "Target Version" field to "2.2.1"</li>+ <li>Manually edit all of the <tt>maindownload.php</tt> pages and uncomment the BitTorrent links.</li>
- <li>Set "Closed in Version" field to "2.2.1"</li>+ <li>After you verify the that changes look correct, invoke the following command to commit your changes: <tt>cvs commit ; chmod -Rf ug+rw .htaccess *</tt></li>
- </ul>+ </ul>
</td> </td>
- <td>08/19/2007</td><td>pluby</td><td>Done</td>+ <td></td><td>pluby</td><td></td>
</tr> </tr>
<tr> <tr>
- <td>Post a release announcement to the [http://www.neooffice.org/neojava/contact.php NeoJUpdate mailing list].</td>+ <td>
- <td>08/19/2007</td><td>pluby</td><td>Done</td>+ <p>Obtain each localized version of the NeoOffice 2.2.1 press release in HTML format, save them in the <tt>www-test.neooffice.org</tt> website's <tt>/neojava/press_releases</tt> directory using the following naming format so that the webserver's language detection will serve the closest matching file, <tt>cvs add</tt> the files, and invoke the following command to commit your changes: <tt>cvs commit ; chmod -Rf ug+rw .htaccess *</tt>:</p>
 + <ul>
 + <li>English - Save as two files: <tt>NeoOffice_2.2.1.html.en</tt> and <tt>NeoOffice_2.2.1.html.html</tt></li>
 + <li>Other languages - Save using the format <tt>NeoOffice_2.2.1.html.&lt;two-digit-language-code&gt;</tt> replacing <tt>&lt;two-digit-language-code&gt;</tt> with the standard language code (e.g. <tt>de</tt> for German, <tt>fr</tt> for French, etc.</li>
 + </ul>
 + </td>
 + <td>08/26/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
 + <tr bgcolor="lightgreen">
 + <td>When a mirror that has been commented out in the <tt>www-test.neooffice.org</tt> website's <tt>/neojava/mirrors.php</tt> file has mirrored the NeoOffice 2.2.1 binaries, uncomment and the mirror and invoke the following command to commit your changes: <tt>cvs commit ; chmod -Rf ug+rw .htaccess *</tt>.</td>
 + <td></td><td>pluby</td><td></td>
<tr> <tr>
- <td>Delete the 116 obsolete NeoOffice 2.2.1 Early Access <tt>NeoOffice-2.2.1_Early_Access-*.dmg</tt> files from the URLs in listed in the <tt>www.neooffice.org</tt> website's <tt>/neojava/earlyaccessmirrors.php</tt> file.</td> 
- <td>08/19/2007</td><td>pluby</td><td>Done</td> 
- </tr> 
- 
- <tr> 
- <td>Delete the 2 obsolete NeoOffice 2.2.1 Early Access patch installer <tt>NeoOffice-2.2.1_Early_Access-Patch-*.dmg</tt> files from the URLs in listed in the <tt>www.neooffice.org</tt> website's <tt>/neojava/en/earlyaccesspatch.php</tt> file.</td> 
- <td>08/19/2007</td><td>pluby</td><td>Done</td> 
- </tr> 
</table> </table>
== Release == == Release ==
 +
 +Generally, we try to time the release when it is early morning of the release date in New Zealand which is the most populous country closest to the international date line. For this release, 27 August 2007 translates to anytime after 5:00 am on 26 August 2007 in California.
<table width="100%" border="1"> <table width="100%" border="1">
Line 738: Line 828:
<tr> <tr>
<td> <td>
- <p>Make the release available on the <tt>download.neooffice.org</tt> website by doing the following steps:</p>+ <p>Before the actual release time, create a new category in the donations database that has a start date and time that is a few hours before the planned release time to ensure that donors who donate after we make the NeoOffice 2.2.1 binaries downloadable get their donation credited to the next Early Access Program using the following steps:</p>
<ul> <ul>
- <li>Login to www.planamesa.com</li>+ <li>Login to the <tt>www.neooffice.org</tt> server, <tt>cd</tt> to the <tt>/neojava/donationsadmin</tt> directory, and execute the following command to add a new category:
- <li><tt>cd www</tt></li>+<pre>
- <li><tt>cvs update -Ad</tt></li>+sh
- <li>Login to hotspare www.neooffice.org</li>+./manage_categories.php -a
- <li><tt>cd /var/www/htdocs/download_root/</tt></li>+</pre>
- <li><tt>cvs update -Ad</tt></li>+ </li>
- <li><tt>chmod -Rf ug+rw .* *</tt></li>+ <li>Enter the following data when the above command asks for it to create a new category for the next Early Access Program membership. The category's name, amounts, and end date will be changed when the next Early Access Program dates are set but the start date should not change:
- <li>Load the [http://download.neooffice.org/neojava/ download.neooffice.org] website in a web browser and make sure that the download links, patch page, and donation buttons still work.</li>+<pre>
 +category_name: Next Planned NeoOffice Early Access Program Membership
 +mc_gross_USD: 25
 +mc_gross_EUR: 25
 +mc_gross_GBP: 25
 +mc_gross_CAD: 25
 +mc_gross_AUD: 25
 +mc_gross_JPY: 2500
 +start_date: 08/26/07
 +end_date: 01/01/09
 +enabled: 1
 +</pre>
 + </li>
 + <li>Run the command again and enter the following data when the above command asks for it to create a new category for the next Early Access Program subscription. The category's name, amounts, and end date will be changed when the next Early Access Program dates are set but the start date should not change:
 +<pre>
 +category_name: Next Planned NeoOffice 2.x Early Access Program Subscription
 +mc_gross_USD: 50
 +mc_gross_EUR: 50
 +mc_gross_GBP: 50
 +mc_gross_CAD: 50
 +mc_gross_AUD: 50
 +mc_gross_JPY: 5000
 +start_date: 08/26/07
 +end_date: 01/01/09
 +enabled: 1
 +</pre>
</ul> </ul>
</td> </td>
- <td>03/26/07</td><td>OPENSTEP</td><td>Done</td>+ <td>08/20/2007</td><td>pluby</td><td>Done</td>
 + </tr>
 + 
 + <tr>
 + <td>Make the NeoOffice and RetroOffice 2.2.1 binaries downloadable from the <tt>www.neooffice.org</tt> website's download pages by updating the <tt>www.neooffice.org</tt> website's pages to match what is in the <tt>www-test.neooffice.org</tt> website's pages. Login into the <tt>www.neooffice.org</tt> server, <tt>cd</tt> to the its webroot directory, and invoke the following command: <tt>cvs update -Ad ; chmod -Rf ug+rw .htaccess *</tt>.</td>
 + <td>08/26/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
<tr> <tr>
<td>Post the press release as an article on [http://trinity.neooffice.org trinity.neooffice.org]. Note: be sure to change the language field from "English" to "All" in when submitting the article so that all Trinity users will see the article.</td> <td>Post the press release as an article on [http://trinity.neooffice.org trinity.neooffice.org]. Note: be sure to change the language field from "English" to "All" in when submitting the article so that all Trinity users will see the article.</td>
- <td>03/26/07</td><td>OPENSTEP</td><td>Done</td>+ <td>08/26/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
<tr> <tr>
- <td>Post a release announcement to the [http://download.neooffice.org/neojava/contact.php NeoJUpdate mailing list].</td>+ <td>Post a release announcement to the [http://www.neooffice.org/neojava/contact.php NeoJUpdate mailing list].</td>
- <td>03/26/07</td><td>OPENSTEP</td><td>Done</td>+ <td>08/26/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
<tr> <tr>
- <td>+ <td>Delete the 116 NeoOffice 2.2.1 <tt>NeoOffice-2.2.1-*.dmg</tt> files from the URLs in listed in the <tt>www.neooffice.org</tt> website's <tt>/neojava/earlyaccessmirrors.php</tt> file.</td>
- <p>Shut down the Early Access member's site using the following steps:</p>+ <td>08/26/2007</td><td>pluby</td><td>Done</td>
- <ul>+
- <li>Construct a local checkout of the website: <tt>cvs co web/src/planamesa.net</tt></li>+
- <li><tt>cd web/src/planamesa.net/downloads</tt>, manually edit the .htaccess file, uncomment the <tt>RedirectMatch</tt> directive, and <tt>cvs commit</tt> the file.</li>+
- <li><tt>cd web/src/planamesa.net</tt> and invoke <tt>tar zcvf ~/planamesa.net.tar.gz .htaccess *</tt></li>+
- <li>Upload the <tt>planamesa.net.tar.gz</tt> file to the <tt>stuff</tt> directory on the <tt>www.planamesa.net</tt> server.</li>+
- <li>Login to the <tt>www.planamesa.net</tt> server, <tt>cd ~</tt>, <tt>chmod 400 ~/stuff/planamesa.net.tar.gz</tt>, and <tt>tar zxvf ~/stuff/planamesa.net.tar.gz</tt>.</li>+
- <li>Load the [http://eap.neooffice.org/downloads/index.php Early Access member's site] in a web browser and verify that your browser is redirected to the [http://download.neooffice.org/neojava/download.php NeoOffice 2.1 download page].</li>+
- <li>Delete the 2 NeoOffice 2.1 main installer *.dmg files from the Early Access system's download directory on the <tt>eap.neooffice.org</tt> server.</li>+
- <li>Delete each of the expired NeoOffice 2.1 Early Access memberships (but do not delete the NeoOffice 2.x Early Access subscriptions) in the <tt>paypal_items</tt> table.</li>+
- <li>Run the Early Access database backup script so that we have a backup in case any damage to the database occurs in the next steps.</li>+
- <li>Download copies of the backups to permanent backup media.</li>+
- <li>Notify the maintainer of the <tt>neo.caslab.queensu.ca</tt> mirror that they can delete their Early Access binaries directory.</li>+
- </ul>+
- </td>+
- <td>03/26/07</td><td>pluby</td><td>Done</td>+
</tr> </tr>
 + <tr>
 + <td>Delete the 116 NeoOffice 2.1 <tt>NeoOffice-2.1-*.dmg</tt> files from the <tt>rsync.neooffice.org</tt> server's <tt>/neojava/downloads</tt> directory.</td>
 + <td>08/26/2007</td><td>pluby</td><td>Done</td>
 + </tr>
 +
 + <tr>
 + <td>Delete the 2 obsolete NeoOffice 2.1 <tt>NeoOffice-2.1-Patch-*.dmg</tt> patch installer files from the <tt>rsync.neooffice.org</tt> server's <tt>/neojava/downloads</tt> directory.</td>
 + <td>08/26/2007</td><td>pluby</td><td>Done</td>
 + </tr>
<tr bgcolor="lightgreen"> <tr bgcolor="lightgreen">
 + <td>After the files have been deleted from the rsync server, wait 48 hours and verify that these files have been deleted from the mirrors listed in the <tt>www.neooffice.org</tt> website's <tt>/neojava/mirrors.php</tt> file. Contact any mirror maintainers that still have these files to confirm that they are rsynching to the rsync server regularly.
 + </td>
 + <td></td><td>pluby</td><td></td>
 + </tr>
 +
 + <tr>
<td> <td>
- <p>Remove NeoOffice Aqua Beta 3 binaries from mirrors using the following steps:</p>+ <p>Synchronize the donation's database to PayPal's database to ensure that none of the donors' transactions are missing and to pick up any e-mail address changes made by donors during the Early Access period using the following steps:</p>
<ul> <ul>
- <li>Delete all <tt>*Aqua_Beta*.dmg</tt> files, if they have not been deleted earlier, from the <tt>neojava/downloads</tt> directory both of the <tt>www.planamesa.net</tt> and <tt>www.planamesa.org</tt> servers.</li>+ <li>Login to PayPal, click on the History tab, click on Download My History link, select Custom Date Range, enter the day before the start of the Early Access period as the "From" date and the current date as the "To" date, and "Comma Delimited - All Activity" as the "File Types to Download".</li>
- <li>Delete all <tt>*Aqua_Beta*.dmg</tt> patch files from the <tt>neojava/downloads/patches</tt> directory on the <tt>www.planamesa.net</tt> server.</li>+ <li>It will take some time for PayPal to prepare the file. Once the file is ready, download it and use <tt>sftp</tt> to copy it to the <tt>www.neooffice.org</tt> server. Note: be sure to delete your local copy.</li>
- <li>Delete all <tt>*Aqua_Beta*.torrent</tt> files from the <tt>download.neooffice.org</tt> website on both of the <tt>www.planamesa.com</tt> and <tt>www.neooffice.org</tt> servers.</li>+ <li>Once the history file is on the <tt>www.neooffice.org</tt> server, login to the server, <tt>cd</tt> to the <tt>/neojava/donationsadmin</tt> directory, and execute the following command to import the history file:
- <li>Contact the rsync server maintainer and have them delete all <tt>*Aqua_Beta*.dmg</tt> files on the rsync server.</li>+<pre>
- <li>After the files have been deleted from the rsync server, wait 48 hours and verify that these files have been deleted from the mirrors listed in the <tt>download.neooffice.org</tt> website's <tt>neojava/mirrors.php</tt> file.</li>+sh
- <li>Contact any mirror maintainers that still have these files to confirm that they are rsynching to the rsync server regularly.</li>+./import_paypal_transaction_history.php /path/to/history/file 2>/path/to/error/file
 +</pre>
 + </li>
 + <li>Inspect the entries in the error file created in the previous command and verify that none of the rejected lines from the file are donor transactions.</li>
</ul> </ul>
</td> </td>
- <td>03/26/07</td><td>OPENSTEP</td><td></td>+ <td>08/26/2007</td><td>pluby</td><td>Done</td>
</tr> </tr>
- 
</table> </table>

Current revision

This page is an attempt to document all of the tasks required to release NeoOffice 2.1. This page is by no means comprehensive, but hopefully as we work through the release process, we will leave behind enough details to make future releases simpler and less error prone.

Here is what the colors mean:

Not yet assigned
Assigned but not yet due


Contents

Builds

In this release, there is no change in the OpenOffice.org tag that we are using so this build is far simpler than the NeoOffice 2.2.1 Early Access build. However, we need to bundle the latest Akua icon set changes and updated Mac OS X Address Book resource files. These changes will mean that in this release, there will not be a patch that upgrades a NeoOffice 2.2.1 Early Access installation.

TaskDue DateAssignedStatus

Create NeoOffice-2_2_1_Early_Access_branch branch from the HEAD branch for NeoOffice 2.2.1 Early Access so that we can continue to do bug fixes and release Patches while we are working on this release.

Note: After creating the branch, I invoked the following command in my NeoOffice 2.2.1 Early Access workspace to ensure that I don't accidently pull NeoOffice 2.2.1 changes into my build: cvs update -r NeoOffice-2_2_1_Early_Access_branch

08/16/07plubyDone

Perform a clean checkout of the HEAD branch and set build to build with a new version and NeoOffice and RetroOffice trademarked product names.

This includes the following steps:

  • Perform a clean checkout of the HEAD branch
  • Copy custom.neo.mk file to custom.mk so that the clean checkout will build with the trademarked product names
  • In makefile, change the following macros to the respective values:

    PRODUCT_VERSION=2.2.1
    PRODUCT_DIR_VERSION=2.2.1
    X11_PRODUCT_VERSION=2.2.1
    X11_PRODUCT_DIR_VERSION=2.2.1
    PRODUCT_PATCH_VERSION=Patch 0
    PRODUCT_DIR_PATCH_VERSION=Patch-0
    X11_PRODUCT_PATCH_VERSION=Patch 0
    X11_PRODUCT_DIR_PATCH_VERSION=Patch-0
    NEO_TAG:=-rHEAD
    X11_NEO_TAG:=-rHEAD
    
  • In this release, there will not be a patch that upgrades a NeoOffice 2.2.1 Early Access installation so reduce the size of future patches by removing all libraries other than libvcl*.dylib from the build.patch_package_shared target in the makefile. Note that this library should only be applied to NeoOffice builds and not to RetroOffice builds.
  • Commit makefile changes and invoke make build.oo_checkout to checkout the OpenOffice.org code
08/16/07plubyDone

Verify that ooo-build does not have a newer tag than the OOO_BUILD_2_2_1 tag.

08/16/07plubyDone

Verify that odf-converter does not have a newer tag than the word1.1-M1 tag.

08/16/07plubyDone

Perform a clean checkout and build of the HEAD branch on Mac OS X 10.4 Intel with gcc 4.0.1.

Note: don't forget to copy custom.neo.mk file to custom.mk so that the clean checkout will build with the trademarked product name

08/16/07plubyDone

Perform a clean checkout and build of the HEAD branch on Mac OS X 10.4 PowerPC with gcc 3.3.

Note: don't forget to copy custom.neo.mk file to custom.mk so that the clean checkout will build with the trademarked product name

08/16/07plubyDone

Verify that none of the NeoOffice Intel build's executables or libraries link to any X11 libraries.

Note: to do this task, install your latest NeoOffice build and, in a terminal, execute the following commands:

sh
cd /Applications/NeoOffice.app/Contents/MacOS
for i in `find . -type f`; do echo $i ; otool -L $i 2>&1 | grep X11; done

If none of the binaries link to any X11 libraries, the above commands will only print a list of files. However, if you see any lines that look similar to the following, the file listed just before this type of line is linked to an X11 library and this must be correct before the NeoOffice binaries can be released.

/usr/X11R6/lib/libX11.6.dylib (compatibility version 6.2.0, current version 6.2.0)
08/16/07plubyDone

Verify that none of the NeoOffice PowerPC build's executables or libraries link to any X11 libraries.

Note: Use the same steps as used for the matching Intel task.

08/16/07plubyDone

Modify and test bin/installutils script to treat NeoOffice 2.2.1 Early Access as a match.

In this release, language pack resource files are incompatible so we want to preserve them in they exist.

Note: I tested this code by building the installer, language packs, and patch installer and then doing the following steps:

  • Install the patch installer and verify that it does not upgrade my NeoOffice 2.2.1 Early Access installation.
  • Install a NeoOffice 2.2.1 Early Access language pack, change my machine's preferred language to match the installed language pack, run NeoOffice 2.2.1 Early Access, and verify that the menus are not in English.
  • With the same preferred language set in the previous step, install NeoOffice 2.2.1, and verify that the menus are still not in English.
  • Install the NeoOffice 2.2.1 British English language pack, change my machine's preferred language to British Englis, run NeoOffice 2.2.1, and verify that the menus are not in English and verify that bug 2533 no longer occurs.
08/16/07plubyDone

Commit and test updated icon files in etc/package.

  • cd etc/package
  • Execute the following shell script:
    #!/bin/csh
    #
    # execute within etc/package directory
    
    setenv PKGDIR `pwd`
    
    pushd ~
    curl -C - -O http://www.pimley.net/projects/downloads/NeoOfficeAquaElements.dmg
    popd
    
    setenv VOL `hdiutil mount ~/NeoOfficeAquaElements.dmg | perl -ne 'if ( /(\/Volumes.*)$/ ) { print $1; }'`
    if ( "$VOL" != "" ) then
            mkdir "NeoOffice Aqua Elements 2.1.1.070804"
            pushd "$VOL"
            cp -rf * "$PKGDIR/NeoOffice Aqua Elements 2.1.1.070804"
            popd
            pushd "NeoOffice Aqua Elements 2.1.1.070804"
            find . -type f -name \.\* -print0 | xargs -0 -n 1 rm -f
            popd
    
            if ( -e NeoOfficeAquaElements.zip ) then
                    rm NeoOfficeAquaElements.zip
            endif
            zip -r NeoOfficeAquaElements.zip "NeoOffice Aqua Elements 2.1.1.070804"
            hdiutil unmount "$VOL"
            rm -rf "NeoOffice Aqua Elements 2.1.1.070804"
    
    pushd ~
    curl -C - -O http://www.pimley.net/projects/downloads/RetroOfficeElements.dmg
    popd
    
    setenv VOL `hdiutil mount ~/RetroOfficeElements.dmg | perl -ne 'if ( /(\/Volumes.*)$/ ) { print $1; }'`
    if ( "$VOL" != "" ) then
            mkdir "RetroOffice Elements 2.1.1.070804"
            pushd "$VOL"
            cp -rf * "$PKGDIR/RetroOffice Elements 2.1.1.070804"
            popd
            pushd "RetroOffice Elements 2.1.1.070804"
            find . -type f -name \.\* -print0 | xargs -0 -n 1 rm -f
            popd
    
            if ( -e RetroOfficeElements.zip ) then
                    rm RetroOfficeElements.zip
            endif
            zip -r RetroOfficeElements.zip "RetroOffice Elements 2.1.1.070804"
            hdiutil unmount "$VOL"
            rm -rf "RetroOffice Elements 2.1.1.070804"
    endif
    
  • Rebuild NeoOffice and RetroOffice installers with new icon zip files and verify proper build.
  • Reinstall both builds and check that updated icons are available.
08/16/07plubyDone

Get latest version of DicOOo.sxw and FontOOo.sxw files, replace all references to the Control key with the Command key, and commit files in etc/share/dict/ooo.

Note: to do this task, do the following steps:

  • Download the latest DicOOo.sxw file from here
  • Create a new directory and in that directory, unzip the downloaded file using the zip command.
  • Change all of the Windows carriage returns in the unzipped files to Unix newlines and ensure that the files end with a Unix newline by executing the following command:
  • sh
    for i in `find /path/to/first/directory -name content.xml -o -name "Translation*.xml"`; do
    ( cat $i ; echo ) | tr '\r' '\n' > $i.tmp
    mv -f $i.tmp $i
    done
    
  • Replace all known references to the Control key with the Command key and replace OpenOffice.org with NeoOffice in the first directory by executing the following command:
  • sh
    for i in `find /path/to/first/directory -name content.xml -o -name "Translation*.xml"`; do
    cat $i | \
    sed 's#\[CTRL\]#[Command]#g' | \
    sed 's#\[Ctrl\]#[Command]#g' | \
    sed 's#\[ctrl\]#[Command]#g' | \
    sed 's#\[Strg\]#[Command]#g' | \
    sed 's# CTRL #[Command]#g' | \
    sed 's#\(Ctrl\)#[Command]#g' | \
    sed 's#«Ctrl»#[Command]#g' | \
    sed 's#OpenOffice\.org#NeoOffice#g' | \
    sed 's#OpenOffice#NeoOffice#g' | \
    sed 's#/NeoOfffice/#/OpenOffice.org/#g' > $i.tmp
    mv -f $i.tmp $i
    done
    
  • Replace the etc/share/dict/ooo/DicOOo.sxw file by executing the following commands:
  • sh
    cd /path/to/first/directory
    zip -r /path/to/etc/share/dict/ooo/DicOOo.sxw .
    
  • Copy your etc/share/dict/ooo/DicOOo.sxw into your latest NeoOffice installation and run the wizard to verify that the modified file actually works and that the text has been properly changed before commiting the modified file.
  • Download the latest FontOOo.sxw file from here and repeat the above steps by replacing "DicOOo" with "FontOOo".
08/16/07plubyDone

Merge any NeoOffice 2.2.1 Early Access bug fixes committed to the NeoOffice-2_2_1_Early_Access_branch branch.

08/16/07plubyDone

Tag the code in the HEAD branch with the NeoOffice-2_2_1 and RetroOffice-2_2_1 tags.

Note: Because the installer build checks out source code from the anoncvs.neooffice.org server, the following steps must be done to complete this task properly:

  • Do a cvs update -Ad to ensure that you have the latest code in your workspace, verify that none of the files are marked as updated, patched, modified, or have conflicts, and verify that the latest code actually builds through the installer.
  • In the makefile, set the NEO_TAG macro to NEO_TAG:=-rNeoOffice-2_2_1 and X11_NEO_TAG macro to X11_NEO_TAG:=-rRetroOffice-2_2_1 and commit the makefile.
  • Tag all files in your workspace by invoking cvs tag NeoOffice-2_2_1 ; cvs tag RetroOffice-2_2_1.
  • On the cvs.neooffice.org server, run the script to synchronize the anoncvs.neooffice.org server.
  • Verify that the installer still builds by deleting the build.source_zip* files and invoking make NOLANGPACKS=true.
  • If there are any build errors, fix and commit them, retag the changed files by invoking cvs tag -F NeoOffice-2_2_1 ; cvs tag -F RetroOffice-2_2_1, and repeating the previous two steps.
08/16/07plubyDone

Create releasable NeoOffice 2.2.1 and RetroOffice 2.2.1 builds for Intel.

Note: the following steps are overkill, but they ensure that all recent changes to the NeoOffice custom code has been built:

  • Do a cvs update -d -rNeoOffice-2_2_1 and verify that none of the files are marked as updated, patched, modified, or have conflicts. If any such errors appear, the previous task (tagging of the workspace) has not been done properly and it needs to done properly before you can proceed with this task.
  • Do a cvs update -Ad so that you can do bug fixing and release patches after you create your releasable build
  • Delete all build.neo_*, build.odf-converter*, and build.source_zip* files. This will force the installer to rebuild the odf-converter code and all of the NeoOffice custom code without causing any of the OpenOffice.org or ooo-build code to be rebuilt.
  • Invoke make to create the releasable installer and language packs.
08/16/07plubyDone

Create releasable NeoOffice 2.2.1 and RetroOffice 2.2.1 builds for PowerPC.

Note: Use the same steps as used for the matching Intel task.

08/16/07plubyDone

Create backup copy of releasable Intel binaries and upload them to staging server.

The following steps are the steps that I used to create my backup copy:

  • Create an empty NeoOffice-2.2.1 directory outside of the workspace
  • Copy all 58 install/*.dmg files from your releasable build into the empty NeoOffice-2.2.1 directory and chmod 444 *.dmg in that directory

sftp all 58 files up to staging server and chmod 444 *.dmg all of the files on the staging server.

diff the md5 *Intel.dmg | sort' output of the files on the server and in local NeoOffice-2.2.1 directory.

Repeat the above steps using RetroOffice-2.2.1 instead of NeoOffice-2.2.1 and install_X11/*.dmg instead of install/*.dmg.

Put the NeoOffice-2.2.1 and RetroOffice-2.2.1 folders in a new empty directory and create a CD master NeoRetroOffice-2.2.1.cdr file of the new directory using the following command:

hdiutil create -srcfolder /path/to/new/directory \
-format UDTO -ov -o /path/to/output/NeoRetroOffice-2.2.1.cdr
08/16/07plubyDone

Create backup copy of releasable PowerPC binaries and upload them to staging server.

Note: Use the same steps as used for the matching Intel task (except diff using md5 *PowerPC.dmg | sort'.

08/16/07plubyDone

Verify that the releasable installers and one or more language packs install and run on Intel for the following Mac OS X versions:

  • 10.4.10
  • 10.5.0 developer seed 9A499
08/16/07plubyDone

Verify that the releasable installers and one or more language packs install and run on PowerPC for the following Mac OS X versions:

  • 10.3.9
  • 10.4.10
  • 10.5.0 developer seed 9A499
08/16/07plubyDone

Pre-Release to Early Access Members

TaskDue DateAssignedStatus

Create 2.2.1 Early Access tag for the www.neooffice.org website to avoid modifying production web pages while we modify the web pages in the test website. Steps:

  • Construct a local checkout of the website: cvs co www_htdocs
  • cd into the checkout directory and tag the checkout by invoking the following command: cvs tag NeoOffice-2_2_1_Early_Access
  • Login to the www.neooffice.org server, cd to the its webroot directory, and set the tag by invoking the following command: cvs update -d -rNeoOffice-2_2_1_Early_Access ; chmod -Rf ug+rw .htaccess *
08/16/2007plubyDone
Copy the 116 NeoOffice 2.2.1 installer NeoOffice-2.2.1-*.dmg files from the staging area (see Builds section on this page for that task) into the URLs in listed in the www.neooffice.org website's /neojava/earlyaccessmirrors.php file and chmod 444 the files. 08/17/2007plubyDone

Update all version names, file URLs, and patch version in all of the earlyaccess*.php files in the www-test.neooffice.org web pages.

Note: I used the following steps to do this:

  • Update the version name and file URLs by executing the following commands in the /neojava directory of the web pages:
  • sh
    for i in `find . -name "earlyaccess*.php" -o -name "header.html"`; do
    sed 's#NeoOffice 2\.2\.1 Early Access#NeoOffice 2.2.1#g' $i | \
    sed 's#_Early_Access##g' > $i.tmp
    mv $i.tmp $i
    done
    
  • Reset the patch version to "Patch 0" by executing the following commands in the /neojava directory of the web pages.
  • sh
    for i in `find . -name "earlyaccesspatch.php" -o -name "header.html"`; do
    sed 's#Patch 2#Patch 0#g' $i | \
    sed 's#Patch-2#Patch-0#g' > $i.tmp
    mv $i.tmp $i
    done
    
  • Manually edit all of the earlyaccesspatch.php pages, uncomment the last table row (the one that says "No patches have been released") and comment out the other two table rows (the PowerPC and Intel patch links).
  • Manually edit the /neojava/globals.php page, set $earlyaccessproduct to NeoOffice 2.2.1, set $earlyaccessproductfamily[0] to NeoOffice 2.2.1 Early Access, and set $earlyaccesspatch to Patch 0.
  • Manually edit the news banner text in all of the header.html pages.
  • After you verify the that changes look correct, invoke the following command to commit your changes: cvs commit ; chmod -Rf ug+rw .htaccess *
08/17/2007plubyDone

Update the 116 file sizes in all of the earlyaccessdownload.php and earlyaccesslangpackdownload.php files in the www-test.neooffice.org web pages.

Note: I used the following steps to do this:

  • Login to the www-test.neooffice.org server, cd to the its webroot directory, and invoke the following command: cvs update -Ad ; chmod -Rf ug+rw .htaccess *
  • Get a file containing the new release's file names and the matching file sizes from the NeoOffice 2.2.1 Early Access release by executing the following command:
  • ls -l /directory/NeoOffice-2.2.1_Early_Access/binaries/NeoOffice-2.2.1_Early_Access-*.dmg | \
    awk '{print $9 " " $5}' | \
    sed 's#^.*NeoOffice-2.2.1_Early_Access#NeoOffice-2.2.1#' | \
    sort > /path/to/a/new/file
    
  • Get a file containing the new release's file names and the matching file sizes by executing the following commands:
  • ls -l /directory/NeoOffice-2.2.1/binaries/NeoOffice-2.2.1-*.dmg | \
    awk '{print $9 " " $5}' | \
    sort > /path/to/a/new/file
    
  • Create a chained list of sed commands by executing the following command:
  • join /file/from/first/step /file/from/second/step | \
    sed 's#^.*dmg ##' | \
    sed 's# #\##' | \
    sed 's#^#sed "s\##' | \
    sed 's#$#\#g" | \\#' > /path/to/a/new/file
    
  • Manually edit the file created in the last step and insert the following lines before the first sed command:
  • for i in `find . -name "earlyaccessdownload.php" -o -name "earlyaccesslangpackdownload.php"`; do
    cat $i | \
    
  • Manually edit the same file and insert the following lines after the last sed command:
  • cat > $i.tmp
    mv $i.tmp $i
    done
    
  • cd to the /neojava directory and execute the following command to update all of the file sizes:
  • sh /path/to/file/edited/in/last/step
    
  • After you verify the that changes look correct, invoke the following command to commit your changes: cvs commit ; chmod -Rf ug+rw .htaccess *
08/17/2007plubyDone
Make the NeoOffice 2.2.1 binaries downloadable from the www.neooffice.org website's Early Access download pages by updating the www.neooffice.org website's pages to match what is in the www-test.neooffice.org website's pages. Login into the www.neooffice.org server, cd to the its webroot directory, and invoke the following command: cvs update -Ad ; chmod -Rf ug+rw .htaccess *. 08/19/2007plubyDone
Add "2.2.1" as a version in Bugzilla. 08/19/2007plubyDone

Close all bugs with a status of "Resolved" by setting the following field values:

  • Set "Status" field to "Closed"
  • Set "Resolution" field to "Fixed"
  • Set "Target Version" field to "2.2.1"
  • Set "Closed in Version" field to "2.2.1"
08/26/2007sardissonDone

Close any bugs with a status of "Assigned" and resolution of "Fixed" (bugs fixed in the release build after the final Early Access patch) by setting the following field values:

  • Set "Status" field to "Closed"
  • Set "Resolution" field to "Fixed"
  • Set "Target Version" field to "2.2.1"
  • Set "Closed in Version" field to "2.2.1"
08/19/2007plubyDone
Post a release announcement to the NeoJUpdate mailing list. 08/19/2007plubyDone
Delete the 116 obsolete NeoOffice 2.2.1 Early Access NeoOffice-2.2.1_Early_Access-*.dmg files from the URLs in listed in the www.neooffice.org website's /neojava/earlyaccessmirrors.php file. 08/19/2007plubyDone
Delete the 2 obsolete NeoOffice 2.2.1 Early Access patch installer NeoOffice-2.2.1_Early_Access-Patch-*.dmg files from the URLs in listed in the www.neooffice.org website's /neojava/en/earlyaccesspatch.php file. 08/19/2007plubyDone

Mirrors

NeoOffice's rsync server is hosted on [1] and our volunteer mirrors obtain the NeoOffice binaries by nightly runs of the following command on their mirrors:

rsync -r --delete rsync://rsync.neooffice.org/neojavadownloads/ /path/to/NeoOffice/mirror/directory

At this time, we do not mirror RetroOffice binaries.

TaskDue DateAssignedStatus
Upload the 116 RetroOffice installer RetroOffice-2.2.1-*.dmg to the www.planamesa.org server's /retro/downloads directory. 08/16/2007plubyDone
Notify the mirror maintainers that we will be pushing new NeoOffice binaries out to them a few days before the 27 August 2007 release date so that they can prepare for the huge surge in bandwidth usage that their servers will get in the first month or so after release. 08/20/2007plubyDone

Make room for the new NeoOffice binaries by removing the NeoOffice Aqua Beta 3 binaries from the www.planamesa.org and eap.neooffice.org mirror sites.

Note: the following steps were used to complete this task:

  • Login to the www.neooffice.org server, cd to the its webroot directory, and invoke the following command: cvs update -Ad ; chmod -Rf ug+rw .htaccess *.
  • Comment out the www.planamesa.net and www.planamesa.org servers from the /neojava/mirrors.php file in the www.neooffice.org website's /neojava/mirrors.php file and invoke the following command to commit your changes: cvs commit ; chmod -Rf ug+rw .htaccess *.
  • Delete all NeoOffice-2.1-*.dmg files from both of the www.planamesa.net and www.planamesa.org servers.
08/20/2007plubyDone
3 business days before the release, copy the 116 NeoOffice installer NeoOffice-2.2.1-*.dmg files into the rsync.neooffice.org server's /neojava/downloads directory so that the files will be picked up by the mirrors in their next nightly run. 08/21/2007plubyDone
Copy the 116 NeoOffice installer NeoOffice-2.2.1-*.dmg files from the rsync.neooffice.org server's /neojava/downloads directory to the www.planamesa.net and www.planamesa.org servers' /neojava/downloads directory. 08/21/2007plubyDone

Website

TaskDue DateAssignedStatus

Create 2.2.1 Early Access branch for the www.neooffice.org website to avoid modifying production web pages while we modify the web pages in the test website. Steps:

  • Construct a local checkout of the website: cvs co www_htdocs
  • cd into the checkout directory and tag the checkout by invoking the following command: cvs tag -b NeoOffice-2_2_1_Early_Access_branch
  • Login to the www.neooffice.org server, cd to the its webroot directory, and set the tag by invoking the following command: cvs update -d -rNeoOffice-2_2_1_Early_Access_branch ; chmod -Rf ug+rw .htaccess *
08/20/2007plubyDone

Update all NeoOffice 2.2.1 version names, file URLs, and patch version in all of the non Early Access *.php files in the www-test.neooffice.org web pages.

Note: I used the following steps to do this:

  • Copy all of the earlyaccessfeatures.php pages to the features.php pages by executing the following commands in the /neojava directory of the web pages:
  • sh
    for i in `find . -name "features.php"`; do
    cp `dirname $i`/earlyaccess`basename $i` $i
    done
    
  • Manually edit all of the features.php pages and delete all occurrences of "Early Access Program".
  • Manually edit all of the features.php pages and delete the following 2 PHP code blocks:
  • <?php
        include('../earlyaccesslogincheck.php');
    ?>
    
        if ($earlyaccessdownloadenabled && $_SESSION[DONATIONSUSERSESSIONKEY]) {
            printLogoutLink();
        }
    
  • Update the version name and file URLs by executing the following commands in the /neojava directory of the web pages:
  • sh
    for i in `find . -name "*.php" -o -name "header.html" | grep -v earlyaccess`; do
    sed 's#NeoOffice 2\.1#NeoOffice 2.2.1#g' $i | \
    sed 's#NeoOffice-2\.1#NeoOffice-2.2.1#g' | \
    sed 's#NeoOffice-2_1#NeoOffice-2_2_1#g' | \
    sed 's# 2\.1 # 2.2.1 #g' | \
    sed 's#\*2\.1\*#*2.2.1*#g' > $i.tmp
    mv $i.tmp $i
    done
    
  • Reset the patch version to "Patch 0" by executing the following commands in the /neojava directory of the web pages.
  • sh
    for i in `find . -name "patch.php" -o -name "header.html"`; do
    sed 's#Patch 7#Patch 0#g' $i | \
    sed 's#Patch-7#Patch-0#g' > $i.tmp
    mv $i.tmp $i
    done
    
  • Manually edit all of the patch.php pages, uncomment the last table row (the one that says "No patches have been released") and comment out the other two table rows (the PowerPC and Intel patch links).
  • Manually edit the /neojava/globals.php page and set the following variables to the following values:
  • $earlyaccessdownloadenabled = false;
    $earlyaccessredirectenabled = true;
    $earlyaccessproduct = '';
    $earlyaccessproductfamily[0] = '';
    $earlyaccesspatch = 'Patch 0';
    $earlyaccesspatchpage = 'earlyaccesspatch.php';
    $currentproduct = 'NeoOffice 2.2.1';
    $currentproductfamily[0] = '';
    $currentpatch = 'Patch 0';
    $currentpatchpage = 'patch.php';
    $currentpatchhidemirrors = true;
    
  • Manually edit the news banner text in all of the header.html pages and comment out all Early Access Program table rows and uncomment and update the non-Early Access Program table rows.
  • Manually edit all of the index.php pages, change the version in the "27 March 2007" line in the "News" section back to "NeoOffice 2.1", copy the edited "27 March 2007" line to a new line above it, change the date and version numbers in the new line, delete the sentence with the download link in the "27 March 2007" line, and delete the "1 July 2006" line.
  • Manually edit all of the maindownload.php pages and comment out the BitTorrent links.
  • After you verify the that changes look correct, invoke the following command to commit your changes: cvs commit ; chmod -Rf ug+rw .htaccess *
08/21/2007plubyDone
Comment out all of the non-patch mirrors in the www-test.neooffice.org website's /neojava/mirrors.php file and invoke the following command to commit your changes: cvs commit ; chmod -Rf ug+rw .htaccess *. 08/21/2007plubyDone
cvs remove the 2 obsolete NeoOffice-2.1-*.torrent files from the Comment out all of the non-patch mirrors in the www-test.neooffice.org website's /neojava/downloads directory and invoke the following command to commit your changes: cvs commit ; chmod -Rf ug+rw .htaccess *. 08/21/2007plubyDone

Update the 116 NeoOffice 2.2.1 file sizes in all of the maindownload.php and langpackdownload.php files in the /neojava directory of the www-test.neooffice.org server's web pages.

Note: I used the following steps to do this:

  • Login to the www-test.neooffice.org server, cd to the its webroot directory, and invoke the following command: cvs update -Ad ; chmod -Rf ug+rw .htaccess *
  • Get a file containing the new release's file names and the matching file sizes from the NeoOffice 2.1 release by executing the following command:
  • ls -l /directory/NeoOffice-2.1/binaries/NeoOffice-2.1-*.dmg | \
    awk '{print $9 " " $5}' | \
    sed 's#^.*NeoOffice-2.1#NeoOffice-2.2.1#' | \
    sort > /path/to/a/new/file
    
  • Get a file containing the new release's file names and the matching file sizes by executing the following commands:
  • ls -l /directory/NeoOffice-2.2.1/binaries/NeoOffice-2.2.1-*.dmg | \
    awk '{print $9 " " $5}' | \
    sort > /path/to/a/new/file
    
  • Create a chained list of sed commands by executing the following command:
  • join /file/from/first/step /file/from/second/step | \
    sed 's#^.*dmg ##' | \
    sed 's# #\##' | \
    sed 's#^#sed "s\##' | \
    sed 's#$#\#g" | \\#' > /path/to/a/new/file
    
  • Manually edit the file created in the last step and insert the following lines before the first sed command:
  • for i in `find . -name "maindownload.php" -o -name "langpackdownload.php"`; do
    cat $i | \
    
  • Manually edit the same file and insert the following lines after the last sed command:
  • cat > $i.tmp
    mv $i.tmp $i
    done
    
  • cd to the /neojava directory and execute the following command to update all of the file sizes:
  • sh /path/to/file/edited/in/last/step
    
  • After you verify the that changes look correct, invoke the following command to commit your changes: cvs commit ; chmod -Rf ug+rw .htaccess *
08/21/2007plubyDone

Create RetroOffice 2.2.1 pages in the www-test.neooffice.org web pages.

Note: I used the following steps to do this:

  • Copy all NeoOffice 2.2.1 pages from the /neojava directory by executing the following commands in the /retro directory of the web pages:
  • sh
    for i in `cd ../neojava ; find . -name ".htaccess" -o -name "*.php*" -o -name "*.html*" | \
    grep -v downloads | grep -v earlyaccess | \
    grep -v featurereqs | grep -v press_releases`; do
    sed 's#NeoOffice#RetroOffice#g' ../neojava/$i | \
    sed 's#neojava/404#retro/404#g' > $i
    cvs add $i
    done
    
  • Correct the make targets and build directories by executing the following commands in the /retro directory of the web pages.
  • sh
    for i in `find . -name "build.php"`; do
    sed 's#install/#install_X11/#g' $i | \
    sed 's#package<#package_X11#g' > $i.tmp
    mv $i.tmp $i
    done
    
  • Manually edit the mirror.php page and replace all of the NeoOffice URLs with the applicable RetroOffice URLs.
  • Manually edit all of the header.html pages, comment out the "Trinity" and "Bugzilla" links in the second header link block, replace the "Early Access Program" link in the third header link block with a NeoOffice<sup>&reg;</sup> link that is linked to ../../neojava/, and replace all occurrences of RetroOffice<sup>&reg;</sup> with RetroOffice<sup>TM<sup>.
  • Manually edit all of the footer.html pages, create a new line that is a copy of the "RetroOffice" line just below it, remove the "registered" adjective from the first "RetroOffice" line, and change "RetroOffice" to "NeoOffice" in the second "RetroOffice" line.
  • Manually edit all of the contact.php pages and change the wording to reflect that there is no Trinity Forums for RetroOffice.
  • Manually edit all of the download.php pages and add a warning that RetroOffice is an X11 application.
  • Manually edit all of the donate.php and faq.php pages and modify wording to reflect the more limited support and development scope of RetroOffice.
  • Manually edit all of the features.php pages, add a warning that RetroOffice is an X11 application, delete NeoOffice features that are not supported by RetroOffice, and replace the "Missing Features" section with a "Limitations" section.
  • Manually edit all of the index.php pages, delete all news entries other than the "27 August 2007" one, and change the product description to reflect that RetroOffice is an X11 application.
  • Manually edit all of the maindownload.php pages and delete any BitTorrent links.
  • Manually edit all of the patch.php pages and change the wording to reflect that RetroOffice patches result from Neooffice bug fixes.
  • Manually edit all of the thankyou.php pages and remove the references to "bug fixing" and "support and testing forums".
  • Manually edit all of the welcome.php pages and merge the wording changes in the contact.php and index.php pages.
  • After you verify the that changes look correct, invoke the following command to commit your changes: cvs commit ; chmod -Rf ug+rw .htaccess *
08/25/2007plubyDone

Update the 116 RetroOffice 2.2.1 file sizes in all of the maindownload.php and langpackdownload.php files in the /retro directory of the www-test.neooffice.org server's web pages.

Note: I used the following steps to do this:

  • Login to the www-test.neooffice.org server, cd to the its webroot directory, and invoke the following command: cvs update -Ad ; chmod -Rf ug+rw .htaccess *
  • Get a file containing the new release's file names and the matching file sizes from the NeoOffice 2.2.1 release by executing the following command:
  • ls -l /directory/NeoOffice-2.2.1/binaries/NeoOffice-2.2.1-*.dmg | \
    awk '{print $9 " " $5}' | \
    sed 's#^.*NeoOffice-2.2.1#RetroOffice-2.2.1#' | \
    sort > /path/to/a/new/file
    
  • Get a file containing the new release's file names and the matching file sizes by executing the following commands:
  • ls -l /directory/RetroOffice-2.2.1/binaries/RetroOffice-2.2.1-*.dmg | \
    awk '{print $9 " " $5}' | \
    sort > /path/to/a/new/file
    
  • Create a chained list of sed commands by executing the following command:
  • join /file/from/first/step /file/from/second/step | \
    sed 's#^.*dmg ##' | \
    sed 's# #\##' | \
    sed 's#^#sed "s\##' | \
    sed 's#$#\#g" | \\#' > /path/to/a/new/file
    
  • Manually edit the file created in the last step and insert the following lines before the first sed command:
  • for i in `find . -name "maindownload.php" -o -name "langpackdownload.php"`; do
    cat $i | \
    
  • Manually edit the same file and insert the following lines after the last sed command:
  • cat > $i.tmp
    mv $i.tmp $i
    done
    
  • cd to the /retro directory and execute the following command to update all of the file sizes:
  • sh /path/to/file/edited/in/last/step
    
  • After you verify the that changes look correct, invoke the following command to commit your changes: cvs commit ; chmod -Rf ug+rw .htaccess *
08/24/2007plubyDone

Enable the BitTorrent links using the following steps:

  • Obtain the 2 NeoOffice-2.2.1-*.torrent files from the mirrors.freesmug.org mirror maintainer and cvs add these 2 files in the www-test.neooffice.org website's /neojava/downloads directory.
  • Manually edit all of the maindownload.php pages and uncomment the BitTorrent links.
  • After you verify the that changes look correct, invoke the following command to commit your changes: cvs commit ; chmod -Rf ug+rw .htaccess *
pluby

Obtain each localized version of the NeoOffice 2.2.1 press release in HTML format, save them in the www-test.neooffice.org website's /neojava/press_releases directory using the following naming format so that the webserver's language detection will serve the closest matching file, cvs add the files, and invoke the following command to commit your changes: cvs commit ; chmod -Rf ug+rw .htaccess *:

  • English - Save as two files: NeoOffice_2.2.1.html.en and NeoOffice_2.2.1.html.html
  • Other languages - Save using the format NeoOffice_2.2.1.html.<two-digit-language-code> replacing <two-digit-language-code> with the standard language code (e.g. de for German, fr for French, etc.
08/26/2007plubyDone
When a mirror that has been commented out in the www-test.neooffice.org website's /neojava/mirrors.php file has mirrored the NeoOffice 2.2.1 binaries, uncomment and the mirror and invoke the following command to commit your changes: cvs commit ; chmod -Rf ug+rw .htaccess *. pluby

Release

Generally, we try to time the release when it is early morning of the release date in New Zealand which is the most populous country closest to the international date line. For this release, 27 August 2007 translates to anytime after 5:00 am on 26 August 2007 in California.

TaskDue DateAssignedStatus

Before the actual release time, create a new category in the donations database that has a start date and time that is a few hours before the planned release time to ensure that donors who donate after we make the NeoOffice 2.2.1 binaries downloadable get their donation credited to the next Early Access Program using the following steps:

  • Login to the www.neooffice.org server, cd to the /neojava/donationsadmin directory, and execute the following command to add a new category:
    sh
    ./manage_categories.php -a
    
  • Enter the following data when the above command asks for it to create a new category for the next Early Access Program membership. The category's name, amounts, and end date will be changed when the next Early Access Program dates are set but the start date should not change:
    category_name: Next Planned NeoOffice Early Access Program Membership
    mc_gross_USD: 25
    mc_gross_EUR: 25
    mc_gross_GBP: 25
    mc_gross_CAD: 25
    mc_gross_AUD: 25
    mc_gross_JPY: 2500 
    start_date: 08/26/07
    end_date: 01/01/09
    enabled: 1
    
  • Run the command again and enter the following data when the above command asks for it to create a new category for the next Early Access Program subscription. The category's name, amounts, and end date will be changed when the next Early Access Program dates are set but the start date should not change:
    category_name: Next Planned NeoOffice 2.x Early Access Program Subscription
    mc_gross_USD: 50
    mc_gross_EUR: 50
    mc_gross_GBP: 50
    mc_gross_CAD: 50
    mc_gross_AUD: 50
    mc_gross_JPY: 5000
    start_date: 08/26/07
    end_date: 01/01/09
    enabled: 1
    
08/20/2007plubyDone
Make the NeoOffice and RetroOffice 2.2.1 binaries downloadable from the www.neooffice.org website's download pages by updating the www.neooffice.org website's pages to match what is in the www-test.neooffice.org website's pages. Login into the www.neooffice.org server, cd to the its webroot directory, and invoke the following command: cvs update -Ad ; chmod -Rf ug+rw .htaccess *. 08/26/2007plubyDone
Post the press release as an article on trinity.neooffice.org. Note: be sure to change the language field from "English" to "All" in when submitting the article so that all Trinity users will see the article. 08/26/2007plubyDone
Post a release announcement to the NeoJUpdate mailing list. 08/26/2007plubyDone
Delete the 116 NeoOffice 2.2.1 NeoOffice-2.2.1-*.dmg files from the URLs in listed in the www.neooffice.org website's /neojava/earlyaccessmirrors.php file. 08/26/2007plubyDone
Delete the 116 NeoOffice 2.1 NeoOffice-2.1-*.dmg files from the rsync.neooffice.org server's /neojava/downloads directory. 08/26/2007plubyDone
Delete the 2 obsolete NeoOffice 2.1 NeoOffice-2.1-Patch-*.dmg patch installer files from the rsync.neooffice.org server's /neojava/downloads directory. 08/26/2007plubyDone
After the files have been deleted from the rsync server, wait 48 hours and verify that these files have been deleted from the mirrors listed in the www.neooffice.org website's /neojava/mirrors.php file. Contact any mirror maintainers that still have these files to confirm that they are rsynching to the rsync server regularly. pluby

Synchronize the donation's database to PayPal's database to ensure that none of the donors' transactions are missing and to pick up any e-mail address changes made by donors during the Early Access period using the following steps:

  • Login to PayPal, click on the History tab, click on Download My History link, select Custom Date Range, enter the day before the start of the Early Access period as the "From" date and the current date as the "To" date, and "Comma Delimited - All Activity" as the "File Types to Download".
  • It will take some time for PayPal to prepare the file. Once the file is ready, download it and use sftp to copy it to the www.neooffice.org server. Note: be sure to delete your local copy.
  • Once the history file is on the www.neooffice.org server, login to the server, cd to the /neojava/donationsadmin directory, and execute the following command to import the history file:
    sh
    ./import_paypal_transaction_history.php /path/to/history/file 2>/path/to/error/file
    
  • Inspect the entries in the error file created in the previous command and verify that none of the rejected lines from the file are donor transactions.
08/26/2007plubyDone
Personal tools