Space: Apache OpenOffice Community 
(https://cwiki.apache.org/confluence/display/OOOUSERS)
Page: Improvements for the download webpages 
(https://cwiki.apache.org/confluence/display/OOOUSERS/Improvements+for+the+download+webpages)

Change Comment:
---------------------------------------------------------------------
Added new table for the DL scripting re-work

Edited by Marcus Lange:
---------------------------------------------------------------------
{toc}

h2. Immediate Concerns, Short/Mid Term Improvements

The following tasks need to be done to improve the download webpages:

|| Desciption || File || Issue ID || Owner || Target || Status ||
| Agree to a new directory structure. Current solution is: \\ \\ {code}
/ooo/<VERSION>/source/
/ooo/<VERSION>/bin/<LANG>/
/ooo/<VERSION>/bin/SDK/ {code} | -- | -- | All \\ (need to know: Release 
Manager, Kay, Marcus) | AOO 4.0 | {highlight:yellow}In Progress \\ \\ Consensus 
needed {highlight} |
| Create a test environment to simulate a AOO 4.0 download. Targets: \\ - 
Create a more simple and flat directory structure for the AOO install files \\ 
- Adapt the DL scripts to support the new directory structure \\ - Do some 
larger test cases to verify the re-work \\ | -- | -- | marcus | AOO 4.0 | New |
| In the green box, present a respective text to the user that a download is 
not possible for the platform / language combination. Check the platform and 
language if a build is available. Example: \\ \\ Download Apache OpenOffice 
3.4.0 \\ A release for <platform> and <language> is not available. Please 
choose from the alternative download webpage for another build. | 
download/index.html \\ download/download.js | -- | marcus | AOO 3.4.1 | New |
| Extend the list of known/unknown platforms with others from the old error 
webpage for MirrorBrain. | download/download.js | -- | marcus | AOO 3.4.1 | New 
|
| Integrate links to localized release notes into the download webpages. | 
download/index.html \\ download/others.html | -- | marcus | AOO 3.4.1 | New |
| Move all script files into an own "scripts/" subdir. | download/\*.js \\ 
download/\*.css | -- | marcus | AOO 3.4.1 | New |
| Cleanup the "download/" directory. | download/* | -- | marcus | AOO 3.4.1 | 
New |
| Extended the logic to recognize Chromium browser to create download URL with 
deb or rpm package. | download/download.js | -- | ? | ? | New |
| Separate the DL logic for ASF, SF and MB mirror systems into own files to get 
a better overview where is what located. \\ {color:#ff0000} \[not sure this is 
needed - Kay] \\
\[right, when all logic is in single file local variables can be used all over 
the place, clearly better - Marcus\] {color} | download/*.js | -- | ? | AOO 
3.4.1 | New |
| Attempt to put getLink() and hasMirror() in main page body with variable 
assignments to eliminate duplicate calls during processing. | download/*.js | 
-- | kschenk | AOO 3.4.1 | New |
| Use version name and schema name to generate pack names to eliminate the long 
"if" statements. | download/*.js | -- | kschenk | AOO 3.4.1 | New |
| Set download directory names for any language based on version and mirror. 
Use in conjunction with name and schema for accessing installs -- providing 
complete path to mirrors. | download/index.html \\ download/*.js | -- | 
kschenk/marcus | AOO 3.4.1 | New |
| Refactor *.js files to cull out unused routines. | download/*.js | -- | ? | 
AOO 3.4.1 | New |
| Create the table with download links automatically with parameters. | 
download/other.html | -- | marcus | AOO 3.4.1 | {highlight:yellow} In Progress 
{highlight} \\
[other_print.html | 
http://ooo-site.staging.apache.org/download/test/other_print.html] \\
[print_table_aoo.js | 
http://ooo-site.staging.apache.org/download/test/print_table_aoo.js] \\
[globalvars_print.js | 
http://ooo-site.staging.apache.org/download/test/globalvars_print.js] |
| Add the checksum links into the automatically created table. | 
download/other.html | -- | marcus | AOO 3.4.1 | {highlight:yellow} In Progress 
{highlight} \\
[other_print.html | 
http://ooo-site.staging.apache.org/download/test/other_print.html] \\
[print_table_aoo.js | 
http://ooo-site.staging.apache.org/download/test/print_table_aoo.js] \\
[globalvars_print.js | 
http://ooo-site.staging.apache.org/download/test/globalvars_print.js] |
| Implement hints for the "other_print.html". \\ \\ Kay: empty line between the 
"download" and the checksum links (add another <br />). \\ Dennis: add labels 
to the table and change the TOC into clickable links to the labels. | 
download/test/other_print.html | -- | marcus | AOO 3.4.1 | {highlight:yellow} 
In Progress {highlight} \\
[other_print.html | 
http://ooo-site.staging.apache.org/download/test/other_print.html] |
| Chrom browser provide different platform data in "navigator.platform" and 
"navigator.userAgent" (i686 and x86_64), so it's not possible to handle this in 
our DL magic (see issue IDs for update). | download/download.js | Google \\
[44905 | http://code.google.com/p/chromium/issues/detail?id=44905] \\
[128167 | http://code.google.com/p/chromium/issues/detail?id=128167] \\
[117524 | http://trac.webkit.org/changeset/117524] \\
[86778 | https://bugs.webkit.org/show_bug.cgi?id=86778] | Google | Chrome 
22.0.1229.14 | {highlight:green} Resolved {highlight} \\ \\ * Fixed in version 
22.0.1229.14 \\ * Not fixed in version 18.0.1025.151 \\ * Don't know what is 
inbetween |
| In the green box, name clearly the Linux package that will be downloaded. 
Example: \\  \\
Click to start downloading the most recent version for Linux <32-bit │ 64-bit> 
<DEB │ RPM> and English (US) | download/index.html download/download.js | -- | 
marcus | shortly after AOO 3.4.0 | {highlight:green} Resolved {highlight} |
| Extended the logic to recognize "IceWeasel" to create download URL with deb 
package. | download/download.js | -- | marcus | shortly after AOO 3.4.0 | 
{highlight:green} Resolved {highlight} |
| Make the redirect for not-supported languages (like en-GB) work again | 
download/index.html | 
[119357|https://issues.apache.org/ooo/show_bug.cgi?id=119357] | marcus | 
shortly after AOO 3.4.0 | {highlight:green} Resolved {highlight} |
| In the sub-green box, shorten the text to make space for links to checksum 
files directly. Example: \\ \\
[Other Platforms and Languages|http://www.openoffice.org/download/other.html] │ 
[Legacy OOo Version|http://www.openoffice.org/download/legacy/index.html] │ 
[Release Notes|http://www.openoffice.org/development/releases/AOO3.4.0.html] │ 
Signatures and Hashes: (Link to ASC), (Link to MD5), (Link to SHA1), (Link to 
SHA512) │ [Verify your download with 
checksums|http://www.openoffice.org/download/checksums.html#howto] | 
download/index.html \\ download/download.js | -- | marcus | AOO 3.4.1 | 
{highlight:green} Resolved {highlight} |
| Delete all stuff that has to do with Bouncer. | download/*.js | -- | marcus | 
AOO 3.4.1 | {highlight:green} Resolved {highlight} |
| Delete all stuff that has to do with file name schema "old". These have the 
structure that was needed for Bouncer and is now no longer needed. | 
download/*.js | -- | marcus | AOO 3.4.1 | {highlight:green} Resolved 
{highlight} |
| Delete all stuff that has to do with offering JRE builds. This will simplify 
making script work for all 3.x versions. | download/*.js | -- | marcus | AOO 
3.4.1 | {highlight:green} Resolved {highlight} |
| Delete the additional JS file and make sure that all is still working. | 
download/download2.js | -- | marcus | AOO 3.4.1 | {highlight:green} Resolved 
{highlight} |
| Delete all stuff that has to do with the old download and webtracking | 
download/download.js \\ download/download_mirrorbrain.js | -- | marcus | AOO 
3.4.1 | {highlight:green} Resolved {highlight} |
| Delete all stuff that has to do with offering JRE and Mac builds. | 
download/languages.js | -- | marcus | AOO 3.4.1 | {highlight:green} Resolved 
{highlight} |
| Extend the lanuages with the native name (to ease the translation of the 
"index.html" webpage for the NL community) | download/index.html \\ 
download/languages.js | -- | marcus | AOO 3.4.1 | {highlight:green} Resolved 
{highlight} |
| Toggle all sites in languages.js with jre to 'n' and investigate Mac setting 
for each. \\ {color:#ff0000}\[IMHO we should simply delete the columns for JRE 
and Mac as it's no longer needed - Marcus\] {color} | download/languages.js | 
-- | kschenk/marcus | AOO 3.4.1 | {highlight:green} Resolved {highlight} |
| Cleanup the "download/test" subdir. \\
{color:#ff0000} \[see comments\] {color} | download/test/* | -- | 
kschenk/marcus ? | AOO 3.4.1 | {highlight:green} Resolved {highlight} |
| Delete legacy MD5sums files from "download/" as they are already in the 
"legacy/" subdir. | download/md5sums/ \\
download/legacy/md5sums/ | -- | marcus | shortly after AOO 3.4.0 | 
{highlight:green} Resolved {highlight} |
| Integrate the dev builds / nightly builds into the download webpages, refer 
to the [Wiki 
page|https://cwiki.apache.org/confluence/display/OOOUSERS/AOO+3.4+Unofficial+Developer+Snapshots]
 instead to create new download links | download/index.html | -- | marcus | AOO 
3.4.1 | {highlight:green} Resolved {highlight} |
| Extend the getLink() function to accept a specific ISO code to get forced to 
build a download URL for a specific language (and not only recognize the ISO 
code by "navigator.language") to allow localized download webpages on the 
several NL websites | download/index.html \\
download/download.js \\ download_mirrorbrain.js | -- | marcus | AOO 3.4.1 | 
{highlight:green} Resolved {highlight} |

h2. Re-work to start over with the next bigger release (AOO 3.5, 4.0, etc.)

The following tasks need to be done to re-work the download webpages:

|| Desciption || File || Issue ID || Owner || Target || Status ||
| Creating a new subdir "new/" to avoid any interferring of the other DL 
scripts. | "www.openoffice.org/test/new/" | -- | marcus | AOO 3.5 | New |
| Copying over the latest versions of the DL scripts to "new/". | 
"www.openoffice.org/test/new/*" | -- | marcus | AOO 3.5 | New |
| Using a user dir on "people.apache.org" as test mirror and then put there 
some install files with adapted names for testing. | -- | -- | marcus | AOO 3.5 
| New |
| Deleting the stuff regarding "we use 2/3 mirrors with a balanced system" (ASF 
/ SF and MB) from "download_improved.js". It seems that we we won't use it in 
the future. | "www.openoffice.org/test/new/download.js" | -- | marcus | AOO 3.5 
| New |
| Combine some *.js files to make it more simpler. At the end I want to have 
the following only: \\ \\ {code}
- globalvars.js
- download.js
- tables.js
- languages.js {code} | "www.openoffice.org/test/new/*.js" | -- | marcus | AOO 
3.5 | New |
| Deleting any pointing and naming to Mirrorbrain (e.g., URLs, function names). 
It seems that we won't support this system anymore. | 
"www.openoffice.org/test/new/*.js" | -- | marcus | AOO 3.5 | New |
| Find some things to consolidate the scriping to reduce complexity. | 
"www.openoffice.org/test/new/download.js" | -- | marcus | AOO 3.5 | New |

h2. Is the download working correctly for specific Linux + platform + browser 
combinations?

|| Linux  || Package Manager || Platform || Browser || Correct download || 
Status ||
| Fedora | RPM | x86 | Firefox | {highlight:green} Yes {highlight} | |
| Fedora | RPM | x86_86 | Firefox | {highlight:green} Yes {highlight} | |
| Fedora | RPM | x86 | Chrom | {highlight:green} Yes {highlight} | |
| Fedora | RPM | x86_86 | Chrom | {highlight:red} No {highlight} | Browser 
doesn't provide the correct platform value, see item in table above, x86 will 
be used |
| openSUSE | RPM | x86 | Firefox | {highlight:green} Yes {highlight} | |
| openSUSE | RPM | x86_86 | Firefox | {highlight:green} Yes {highlight} | |
| openSUSE | RPM | x86 | Chrom | {highlight:green} Yes {highlight} | |
| openSUSE | RPM | x86_86 | Chrom | {highlight:red} No {highlight} | Browser 
doesn't provide the correct platform value, see item in table above, x86 will 
be used
| Debian | DEB | x86 | IceWeasel | {highlight:green} Yes {highlight} | |
| Debian | DEB | x86_86 | IceWeasel | {highlight:green} Yes {highlight} | |
| Debian | DEB | x86 | Chrom | {highlight:red} No {highlight} | Browser doesn't 
provide a recognizable value to differentiate between RPM and DEB, RPM will be 
used |
| Debian | DEB | x86_86 | Chrom | {highlight:red} No {highlight} | Browser 
doesn't provide a recognizable value to differentiate between RPM and DEB, RPM 
will be used \\ Browser doesn't provide the correct platform value, see item in 
table above, x86 will be used |
| Ubuntu | DEB | x86 | IceWeasel | {highlight:green} Yes {highlight} | |
| Ubuntu | DEB | x86_86 | IceWeasel | {highlight:green} Yes {highlight} | |
| Ubuntu | DEB | x86 | Chrom (from distro) | {highlight:green} Yes {highlight} 
| |
| Ubuntu | DEB | x86_86 | Chrom (from distro) | {highlight:red} No {highlight} 
| Browser doesn't provide the correct platform value, see item in table above, 
x86 will be used |
| Ubuntu | DEB | x86 | Chrom (from Google) | {highlight:red} No {highlight} | 
Browser doesn't provide a recognizable value to differentiate between RPM and 
DEB, RPM will be used |
| Ubuntu | DEB | x86_86 | Chrom (from Google) | {highlight:red} No {highlight} 
| Browser doesn't provide a recognizable value to differentiate between RPM and 
DEB, RPM will be used \\ Browser doesn't provide the correct platform value, 
see item in table above, x86 will be used |
| Ubuntu | DEB | x86 | Opera | {highlight:red} No {highlight} | Browser doesn't 
provide a recognizable value to differentiate between RPM and DEB, RPM will be 
used |
| Ubuntu | DEB | x86_86 | Opera | {highlight:red} No {highlight} | Browser 
doesn't provide a recognizable value to differentiate between RPM and DEB, RPM 
will be used \\ Browser doesn't provide the correct platform value, see item in 
table above, x86 will be used |

h2. Design Overhaul -- why we need it

h5. Current State

* Client is identified for OS, OS variant, language with JS 
(navigator.platform, navigator.user-agent).
* Package for client is provided based on a schema and a mirror location in JS 
-- globalvars.js
combined with a package naming, SCHEMA (for the desired version), client's 
language, and whether that client is available from the standard mirror
or elsewhere.
* Language, package locations, and other variables (most no longer used) are 
defined as a JS array in languages.js.

h5. Current state -- problems.

* The languages array now contains fields that are no longer used.
* The languages array is setup with majors of some languages, i.e. "en", with a 
cumbersome structure of sub-versions.
* As new language translations are added as standard to the mirror repository, 
the languages.js must be edited to reflect this.
* As new versions are provided, a change to the SCHEMA variable must be made.
* The current file structure on the mirrors for the distribution -- "stable" vs 
"localized" makes it difficult to easily collect download statistics.
* The internal logic in the ".js" files -- download.js , and 
download_mirrobrain.js -- is fairly cumbersome and circuitous, making it 
difficult to ascertain results for more complicated cases, lack of 
navigator.platform, non-identifiable language, etc.
* Manual editing is needed to properly construct package names depending on the 
SCHEMA for the version.
* Due to so much manual editing, mistakes are likely.
* It's basically impossible to proved the same set of js scripts for each 
version we might want to provide to the client.

h5. Current state -- good aspects.

* So far, it mostly works.

h2. Design Overhaul -- Ideas for Retooling

* A means to generate an XML feed from the package build process that would 
provide information (existence) for each language/platform. This file would 
need to be concatenated with the existng XML file and saved in 
www.openoffice.org/download. Older versions no longer provided could be easily 
eliminated. An entry indicating mirror name would need to be provided in this 
tree as well. {color:#ff0000}Additional details will follow.{color}
This would eliminate manual editing to control much of the DL process.
* Retool much of the js scripts to process the XML file, checking for the 
existence of the desired version w/language.

Change your notification preferences: 
https://cwiki.apache.org/confluence/users/viewnotifications.action

Reply via email to