Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 326444 - Equinox download page format
Summary: Equinox download page format
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Releng (show other bugs)
Version: 3.6   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: 3.7   Edit
Assignee: Platform-Releng-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-28 13:57 EDT by Jeff McAffer CLA
Modified: 2012-06-21 17:02 EDT (History)
4 users (show)

See Also:


Attachments
Equinox 3.7m2a download page updated (8.49 KB, text/html)
2010-09-28 13:57 EDT, Jeff McAffer CLA
no flags Details
patch (3.70 KB, patch)
2010-09-28 14:27 EDT, DJ Houghton CLA
no flags Details | Diff
Replacement page using Nova theme (11.18 KB, text/html)
2010-09-28 15:10 EDT, Jeff McAffer CLA
no flags Details
patch (26.17 KB, patch)
2010-09-29 12:01 EDT, DJ Houghton CLA
no flags Details | Diff
patch (50.43 KB, patch)
2010-09-29 14:24 EDT, DJ Houghton CLA
no flags Details | Diff
patch (12.25 KB, patch)
2010-09-29 16:56 EDT, DJ Houghton CLA
no flags Details | Diff
patch (14.25 KB, patch)
2010-09-30 09:42 EDT, DJ Houghton CLA
no flags Details | Diff
patch (1.56 KB, patch)
2010-09-30 16:05 EDT, DJ Houghton CLA
no flags Details | Diff
patch for stylesheet location (1.67 KB, patch)
2010-10-04 14:19 EDT, Kim Moir CLA
no flags Details | Diff
patch (1.86 KB, patch)
2010-10-04 14:54 EDT, DJ Houghton CLA
no flags Details | Diff
patch (18.36 KB, patch)
2010-10-04 16:58 EDT, DJ Houghton CLA
no flags Details | Diff
patch (8.67 KB, patch)
2010-10-05 12:13 EDT, DJ Houghton CLA
no flags Details | Diff
patch (7.92 KB, patch)
2010-10-05 14:50 EDT, DJ Houghton CLA
no flags Details | Diff
patch (1.26 KB, patch)
2010-10-05 16:04 EDT, Kim Moir CLA
no flags Details | Diff
new icons (11.31 KB, application/zip)
2010-10-05 16:12 EDT, DJ Houghton CLA
no flags Details
patch (2.39 KB, patch)
2010-10-05 16:15 EDT, DJ Houghton CLA
no flags Details | Diff
patch (1.56 KB, patch)
2010-10-05 16:43 EDT, DJ Houghton CLA
no flags Details | Diff
patch (11.16 KB, patch)
2010-10-06 11:42 EDT, DJ Houghton CLA
no flags Details | Diff
patch (18.33 KB, patch)
2010-10-06 13:08 EDT, DJ Houghton CLA
no flags Details | Diff
patch (3.27 KB, patch)
2010-10-06 17:58 EDT, DJ Houghton CLA
no flags Details | Diff
patch (34.31 KB, patch)
2010-10-07 11:30 EDT, DJ Houghton CLA
no flags Details | Diff
patch (16.66 KB, patch)
2010-10-08 15:03 EDT, DJ Houghton CLA
no flags Details | Diff
patch to output a buildspec rather than php (3.05 KB, application/zip)
2010-11-10 22:13 EST, Jeff McAffer CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jeff McAffer CLA 2010-09-28 13:57:36 EDT
Created attachment 179772 [details]
Equinox 3.7m2a download page updated 

There are a few things we could do to the Equinox download page to make it more consumable.

- Font size: The Equinox page font is significantly larger than that found on the Eclipse project download page.  We should use the smaller font.

- Status column: The checkmark is too big.  It forces the table rows to be spaced apart too much.

- Platform column: This really should be eliminated.  Most of our downloads are All platforms and those that are not are pretty clear in the name of the file

- Download column: This is always HTTP so lets just get rid of it and make the file name the link to the file.

- Size column: should come after the file name

- Checksum column: should be sized so that it is always on one line

- Column headers: These can be removed as the columns are self-evident

Summary: Rationalize the columns and their sizes to simplify the look and use of the page.

Minor nit: The table text in each section is indented less then the section's descriptive paragraph.  This throws off the look a bit.

It also seems that there are a mess of dangling tags and random tables and rows in the file.

Attached is an updated 3.7M2a download page incorporating the ideas outlined here.
- I had to hard code some stylesheet links
- there is a hack to fix the font size but we need a better way
- I simplified the top part of the page to eliminate the table
- random other cleanups
Comment 1 Kim Moir CLA 2010-09-28 14:12:27 EDT
Yes, the I agree the current page is really messy.

As an aside, there are newer CSS pages provided by the Phoenix project.  I think the one we use today is from around 2006.  

Here's documentation on how to get the newer ones
http://wiki.eclipse.org/index.php/Phoenix_Documentation
Comment 2 DJ Houghton CLA 2010-09-28 14:27:25 EDT
Created attachment 179774 [details]
patch

Here is a patch which switches to use the same CSS files as the regular Eclipse download page.

Other changes can be made to the index.php.template file.

Kim, how can we test this before releasing?
Comment 3 DJ Houghton CLA 2010-09-28 14:31:07 EDT
I can take a look at this and incorporating the rest of Jeff's suggestions.
Comment 4 Kim Moir CLA 2010-09-28 14:36:27 EDT
That would be great DJ!  As you have probably guessed, modifying web pages is not my favourite thing to do, I'm not a visual design person :-)
Comment 5 Thomas Watson CLA 2010-09-28 14:45:16 EDT
Thanks DJ!  I clearly have no talent for such things either ;-)
Comment 6 DJ Houghton CLA 2010-09-28 14:51:10 EDT
You are all being very presumptuous. :-)
Comment 7 Jeff McAffer CLA 2010-09-28 15:10:21 EDT
Created attachment 179780 [details]
Replacement page using Nova theme

Here is another version of the same thing but using the Nova theme.  The template claims that you can get rid of the right column (which I interpreted optimistically as the mid column gets the space as before) but it does not seem to work.  In any event, with the new minimal download columns it all fits anyway.
Comment 8 DJ Houghton CLA 2010-09-28 17:26:49 EDT
Kim, can you release the attached patch? 
It changes the stylesheet links. 
Thanks.
Comment 9 Kim Moir CLA 2010-09-29 09:59:46 EDT
Thanks DJ, patch applied.
Comment 10 DJ Houghton CLA 2010-09-29 12:01:50 EDT
Created attachment 179864 [details]
patch

Here is another patch with 3 changes:
- added new interface called Constants which is copied from the OSGi Env package and lists all the constants for ws/os/arch
- added new fields to the PlatformStatus class so it can handle more mark-up in the XML describing a new entry
- changed the testManifest.xml to add new attributes for ws/os/arch (where applicable) and also marked some of the entries with a "format=equinox" attribute so I can create the tables in the "new" format. I'm doing it this way for now because the code which generates the tables is the same for the Equinox downloads page and the Eclipse downloads page and I don't want to break everything at once.
Comment 11 DJ Houghton CLA 2010-09-29 14:24:13 EDT
Created attachment 179878 [details]
patch

An updated code patch containing the following changes:
- added a new "images" attribute to the <platform> element in the testManifest.xml file
- updated the testManifest to use this attribute (for incubator and repos)
- modified the PlatformStatus class to handle this attribute
- modified the table layout in the index.php.template file
- there looks like a lot of code changes in the TestResultsGenerator class but really the only change is the addition of the #processEquinoxDropRow method. If we are processing a <platform> element with the format="equinox" attribute, then we call this method.

As a side note, it would be helpful if the basebuilder project had shared formatter settings. This way whenever someone else (like me) makes changes, the file doesn't look it has changed much.
Comment 12 DJ Houghton CLA 2010-09-29 16:56:02 EDT
Created attachment 179894 [details]
patch

A patch with some more minor improvements.

Still todo:
- apply the Nova theme (if agreed upon)
- fix the tables for the non-JARs. (agent zips, launchers, etc)
Comment 13 DJ Houghton CLA 2010-09-30 09:42:09 EDT
Created attachment 179953 [details]
patch

The test build that we did only had part of the changes. It appears there are 2 code paths and the one that was taken when I ran locally, is different than the one which is used when a full build is run. Here is a new patch which contains the same minor changes as listed in the previous (unreleased) patch, along with a change so the new markup is generated if the platform specifies format="equinox".
Comment 15 DJ Houghton CLA 2010-09-30 16:05:19 EDT
Created attachment 179995 [details]
patch

Additional patch which fixes a typo. (potential early return from a method call)
Comment 16 Kim Moir CLA 2010-09-30 17:02:55 EDT
Released for N20100920-2000.
Comment 17 Kim Moir CLA 2010-09-30 17:03:25 EDT
should have read released for N20100930-2000.
Comment 18 Jeff McAffer CLA 2010-10-01 17:30:32 EDT
I took the latest nightly
	http://download.eclipse.org/equinox/drops/N20101001-0943/index.php
and hacked around and put a new version up on the Equinox testweb site.  See 
	http://eclipse.org/equinox/testweb/download.php

Note that all the builds in the Latest Builds section go to 
	http://eclipse.org/equinox/testweb/somebuild.php
which is really that nightly build tweaked.

An outstanding issue with this approach is I'm not sure if you can run a Nova theme on download.eclipse.org.  It may just mean that we have to tweak some URLs to be http://eclipse.org explicitly.

Anyway, I linked the new download.php into the prototype equinox page
	http://eclipse.org/equinox/testweb/
(click the big yellow button)

The net effect is a nice integrated feel where the downloads appear as part of the main equinox web site.

See what you think.  DJ, ping me if you want to talk about the tweaks.  Here is a summary:
- addressed some missing </td> tags
- changed the md5/sha1 links to images.  we'll have to explain that in the "how to validate downloads page"
- that was really driven by the more limited space available in the Nova look so to stop rows taking two lines...
- tweaked the column sizes to maximize file name space
- elminated many of the table elements in the HTML to simplify
- removed the <b> around links as Nova links are bold anyway
- removed the hover javascript stuff.  Not really sure what this does but does not seem to be needed.


Note that you can see the php in org.eclipse/www/equinox/testweb
Comment 19 Kim Moir CLA 2010-10-04 14:19:58 EDT
Created attachment 180193 [details]
patch for stylesheet location
Comment 20 Kim Moir CLA 2010-10-04 14:37:48 EDT
Jeff, do you still want a browseable repo as described in bug 326430?  Your new mockups only seem to show a subset of the Add-On bundles.
Comment 21 Jeff McAffer CLA 2010-10-04 14:49:56 EDT
Browsable repo would be cool but may be more than we have time for.  Not sure we have anyone with XSLT skills and time.  The mockup download page is partial on purpose.  I just wanted to show the general shape to see if it would work and if people liked it.  If the direction is ok then I can do a more full version to make sure there are no other issues.
Comment 22 DJ Houghton CLA 2010-10-04 14:54:47 EDT
Created attachment 180196 [details]
patch

Patch which removes the javascript and fixes the unbalanced <td> elements.
Comment 23 DJ Houghton CLA 2010-10-04 16:58:30 EDT
Created attachment 180210 [details]
patch

Patch which does the changes in the previous patch (makes it obsolete) along with converting the page to the Nova theme.

Kim: note that the URLs have changed here to use /eclipse.org-common instead of ../../../. I don't think this will be a problem?

This is quite a large change, it would be worth doing a test build to test this patch out.
Comment 24 Kim Moir CLA 2010-10-05 10:13:14 EDT
Running a test build now with these patches + fixes for other bugs
Comment 25 DJ Houghton CLA 2010-10-05 12:13:27 EDT
Created attachment 180254 [details]
patch

New patch to bring us closer to Jeff's mock-up website. Adds:
- expandable/collapsable sections
- RSS blog feed in right hand column
Comment 26 DJ Houghton CLA 2010-10-05 14:50:34 EDT
Created attachment 180273 [details]
patch

Updated patch.
Comment 27 Kim Moir CLA 2010-10-05 16:04:05 EDT
Created attachment 180279 [details]
patch
Comment 28 DJ Houghton CLA 2010-10-05 16:12:55 EDT
Created attachment 180281 [details]
new icons

Here is a zip of new icons to put in /org.eclipse.releng.eclipsebuilder/equinox/publishingFiles/staticDropFiles
Comment 29 DJ Houghton CLA 2010-10-05 16:15:36 EDT
Created attachment 180283 [details]
patch

New patch fixing un-escaped quotes and adding a legend for new icons.
Comment 30 DJ Houghton CLA 2010-10-05 16:43:29 EDT
Created attachment 180287 [details]
patch

New test generator code to replace the "pending" text with an image.

Kim, I think that is the majority of our changes for now. Thanks for your patience while we tweak this.
Comment 31 Kim Moir CLA 2010-10-05 16:53:18 EDT
final patch released for N20101005-2000.
Comment 32 DJ Houghton CLA 2010-10-06 11:42:52 EDT
Created attachment 180344 [details]
patch

New patch:
- close IMG tag in the Java code
- use fully qualified http URLs for CSS and images, too many problems with relative file URLs between the internal build server, our mirror, and eclipse.org
- fixed a <div> tag. For the record <div id="foo" /> doesn't work... it does not treat it as closed when rendering it. (although the w3c validator treats it as valid so I don't know who is wrong)
Comment 33 DJ Houghton CLA 2010-10-06 13:08:41 EDT
Created attachment 180351 [details]
patch

New patch:
- removes the os/arch/ws constants that I added originally and the code that handled them. (they aren't needed anymore)
- adds format="equinox" to the rest of the elements on the page so they get the new formatting rules

For now I have added the "egg" to the p2 installed and RCP Admin UI. Originally they were considered "early access"... how should we signify this?
Comment 34 DJ Houghton CLA 2010-10-06 17:58:13 EDT
Created attachment 180378 [details]
patch

Patch fixes some broken links.
Comment 35 Kim Moir CLA 2010-10-06 20:43:24 EDT
Patch applied. Thanks DJ!
Comment 36 DJ Houghton CLA 2010-10-07 11:30:44 EDT
Created attachment 180430 [details]
patch

Here is a new patch:
- fixed missing close tags in Java code (was in previous patch but lost during class file move)
- pulled functions out into separate files and include them so the index template only has the content for the columns now
- added new js, css, and php files

Kim, could you please kick off a test build (or re-publish) with these changes so we can check it out? Thanks.
Comment 37 DJ Houghton CLA 2010-10-08 15:03:16 EDT
Created attachment 180513 [details]
patch

New patch which fixes path errors and previous problems with embedded php inside strings.
Comment 38 DJ Houghton CLA 2010-10-08 16:35:57 EDT
I think the pages are almost complete now. Kim is running a test build with the latest changes

Re-assigning the bug since I'm away next week.
Comment 39 Jeff McAffer CLA 2010-11-10 22:13:13 EST
Created attachment 182868 [details]
patch to output a buildspec rather than php

To round this all out there was a request to move the build page formatting etc to PHP (from Java) and stop running it on download.eclipse.org.  To do this we need a generic, non-presentation format for the build information. Then a wad o PHP to read that info and render it.  The PHP portion has been done and is at http://eclipse.org/equinox/downloads in the following files
- index.php = the list of downloads available. This is driven from the content of the downloads directory
- buildIndex.php = code that reads a "buildspec" found in a build dir and renders it

This attachment has a patch changes the TestResultsGenerator to output a buildspec.xml file rather than a index.php and a template for the buildspec.xml. The format of a buildspec is relatively trivial. An example buildspec.xml fragment is shown below.  We should likely write a DTD or something...

<build title="Equinox @type@ Build: @buildid@" label="@buildlabel@" date="@date@">
	<preamble>
random text here
	</preamble>
	
	<category id="Equinox" title="All of Equinox">
		<preamble>
			more random text
		</preamble>
		<drop pattern="equinox-SDK-" status="O" images="repo.gif" />
		... more drops...
	</category>
...more categories...

	<postscript>
still more random text
	</postscript>
</build>

The most interesting element is <drop>. This represents an individual downloadable thing. It has the following attributes
pattern - required. A simple file prefix that will match an actual file in the build.  If the pattern contains a '|' then it will match files that start with the stuff to the left and end with the stuff to the right.

status - required. O or ok. P for pending.  F for failed

statusLink - optional.  This is relevant typically when a build fails and you want to point to more information.  e.g., test results

images - optional.  CSV of images to associate with the drop entry.


If we want to move ahead and change the Equinox downloads link to point to the new place then we need to ensure that a buildspec.xml is generated in each build to be presented.  Fortunately, short of the test status and the build id/label, the files are largely the same.  There are no bundle version numbers or anything.  We could likely do this by hand in an hour or so.

Note that the buildspec.xml.template file should go where the index.php.template currently is.

Also, the new approach does not require any static files be maintained with the build.  Just the build output and the buildspec.xml.  So we can delete the static drop files when the transition is complete.

Finally, given that the rendering is to be removed from the build, we'll have to update how we handle archived builds.  Basically the same buildIndex.php should be able to point at the archives. It just needs to know where they are on disk.
Comment 40 Jeff McAffer CLA 2010-11-10 22:16:51 EST
Forgot a couple things.  The current changes do not handle rendering of test results etc.  To date we have not been doing much test result presentation on the Equinox downloads so I left it out here.  With the transition to hudson etc things may also be changing there.  dunno.

We may consider using this approach for the Eclipse project builds as well.  It would be largely the same though there are a few more things on those build pages.  If they can be defined in the buildspec.xml or similar file then they can be rendered pretty easily.
Comment 41 John Arthorne CLA 2012-06-21 17:02:47 EDT
This was mostly completed in 3.7.