patchGNU Octave - Patches: patch #8787, [octave forge] (generate_html)...

 
 

patch #8787: [octave forge] (generate_html) Improve package overview page

Submitter:  Oliver Heimlich <oheim>
Submitted:  Wed 04 Nov 2015 11:08:15 PM UTC
   
 
Category:  Forge : new feature Priority:  5 - Normal
Status:  None Privacy:  Public
Assigned to:  None Open/Closed:  Open
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Tue 09 Feb 2016 02:40:15 AM UTC, comment #21: 


> Reading them on the fly is a good idea unless you want to make the packages.php page completely static.
>
> Instead of a (new) json file we could simply copy the package's DESCRIPTION file and parse it. Again, this will make it easier for us to make changes later. For example, we could decide to show more information on packages.php.


Won't that make the site even slower? As it is, it only needs to include the files straight from the content, but having to actually parse these.

The reason to use json instead of the DESCRIPTION is that I wouldn't like to write a parser for the DESCRIPTION file in php while a json writer in Octave would be much simpler (well, for the very limited needs we have that is).

There's also the green side of it, we don't really need to do this, it's just a waste of power. If we have the code that generates the page on the fly for the users, and the content doesn't change that frequently, why not generate that content ourselves once and make it static.

Note that release process is a script that just moves files around on the web server. It'd be perfectly fine to have a script there that regenerates the packages page, which is called by the release script.

Carnë Draug <carandraug>
Group Member
Mon 08 Feb 2016 05:58:38 AM UTC, comment #20: 


> I'm also thinking that having the generate_html package create a short_package_description doesn't work very well because it's preventing us from making changes easily.


I totally agree.

> What if the generate_html package insteads adds a metadata.json file. We can either have them read on the fly each time or have something on the server that creates a short_package_description when I upload the html.


Reading them on the fly is a good idea unless you want to make the packages.php page completely static.

Instead of a (new) json file we could simply copy the package's DESCRIPTION file and parse it. Again, this will make it easier for us to make changes later. For example, we could decide to show more information on packages.php.

Oliver Heimlich <oheim>
Sun 07 Feb 2016 10:27:35 PM UTC, comment #19: 

So I tried to work on this and found out that my HTML and CSS are pretty bad. I'm also thinking that having the generate_html package create a short_package_description doesn't work very well because it's preventing us from making changes easily.

What if the generate_html package insteads adds a metadata.json file.  We can either have them read on the fly each time or have something on the server that creates a short_package_description when I upload the html.


$json = file_get_contents ($pkg_name . "/metadata.json");
if (! $json)
  continue;

$metadata = json_decode ($json);
if (is_null ($metadata))
  continue;


Where the json file can be something like:


{
  "name" : "interval",
  "desc" : "The interval package for real-valued interval arithmetic allows  one to evaluate functions over subsets of their domain",
  "link" : "http://downloads.sourceforge.net/octave/interval-1.3.0.tar.gz?download",
}


Carnë Draug <carandraug>
Group Member
Sun 07 Feb 2016 09:47:40 PM UTC, comment #18: 


> However, this should be supported by some visual guidance for the user, which makes it clear that it is possible to click on the package box.


Well, maybe we can keep the details button only (bottom right side of each package box). That would cut down one icon and already make the whole box clickable.

Carnë Draug <carandraug>
Group Member
Tue 05 Jan 2016 11:16:30 PM UTC, comment #17: 

I agree as well. However, this should be supported by some visual guidance for the user, which makes it clear that it is possible to click on the package box.

ATM we have two links, which are clearly recognized as such. If we removed them, the user might get lost. Some kind of border around the package area should suffice, but I had no time to work on this yet.

Oliver Heimlich <oheim>
Tue 29 Dec 2015 09:01:47 AM UTC, comment #16: 

I agree.

Having a directly accessible "download" link is misleading for newcomers, since "pkg install -forge" is the preferred method of installation.

So removing both buttons and turning the package name (or the whole box) into a link seems to be a sensible move.

***

By the way, the same remark holds for the main package page (index.html). The big green "download" box suggests that downloading the tarball is the preferred method of installation.

But that's a different issue.

Julien Bect <jbect>
Tue 29 Dec 2015 03:00:16 AM UTC, comment #15: 

Here's what I'm thinking now. Removing the download and details buttons, and turn the whole package box / cell into a link for the package details page.

Ideally, the whole box for the package (icon + title + text) would be a link for the package home page (current details link).  The problem with that is the download button which is inside that box.  If we turned the whole package box into a link to the details page, then the download button becomes weird (a button inside a button is not intuitive).

But maybe we don't need a download button. In the ideal situation, users will use "pkg install -forge".  The download button is not that useful anymore. So we only need a details button. We can turn the whole package box into a link to that and also remove the details button.  The download button will still be available on the package details package.

What do you think?

Carnë Draug <carandraug>
Group Member
Fri 25 Dec 2015 07:46:02 PM UTC, comment #14: 

I have pushed the changes and also updated the CSS at Octave-Forge. @Julien, you can now make the release.

@Carnë, should I make the existing package titles links or do you want to update the short_package_description files?

Oliver Heimlich <oheim>
Wed 23 Dec 2015 11:28:51 PM UTC, comment #13: 

@Julien

Once Oliver pushes his changes. Could you make a new package release? At the moment I have to manually adjust the short_package_description file for each release.

Carnë Draug <carandraug>
Group Member
Tue 22 Dec 2015 07:13:55 PM UTC, comment #12: 

Hello Oliver,

The patch for generate_html looks ok to me.

Please advertise this change in the NEWS file.

@++
Julien

Julien Bect <jbect>
Tue 22 Dec 2015 06:47:08 PM UTC, comment #11: 

I propose to make the package title also a link. Please review the two new patches.

(file #35843, file #35844)

Oliver Heimlich <oheim>
Sat 05 Dec 2015 03:40:49 PM UTC, comment #10: 

Thanks for fixing the issue and putting it online, looks good. I have removed my temporary preview page from the web.

Making the title and image a link is a good idea. Let me prepare another patch.

Oliver Heimlich <oheim>
Tue 01 Dec 2015 10:12:31 PM UTC, comment #9: 

I have fixed the issue I mentioned on comment #8 (missing grey background on the package name). The class names were incorrect on the new short_package_description files.

Should I close this or are you planning on submitting further changes?

Carnë Draug <carandraug>
Group Member
Tue 01 Dec 2015 09:15:59 PM UTC, comment #8: 

Well, I pushed your changes and made them live. See http://octave.sourceforge.net/packages.php

Compared to the one you are hosting, it's missing the grey background on the package name. Also, can we make the icon for the package, and package title, also a link for the package description?

Carnë Draug <carandraug>
Group Member
Tue 01 Dec 2015 08:44:06 PM UTC, comment #7: 

On comment #6 Oliver Heimlich said:

> IMHO It is enough to track the copyright info in the mercurial changelog (as I prepared in the patch).


You also list the license of all the images at the bottom of the package list page. That's what I find excessive. If we take this one step further, then we need to do that for each figure on the website.

Carnë Draug <carandraug>
Group Member
Fri 13 Nov 2015 09:32:29 PM UTC, comment #6: 

I don't think that we should bother adding meta information into the pngs. Nobody is every going to see this. IMHO It is enough to track the copyright info in the mercurial changelog (as I prepared in the patch).

I think we do not have to give attribution to the “public domain” stuff, which will make the list much shorter. For the remaining authors it should be okay to have a page footer with much smaller font size.

Oliver Heimlich <oheim>
Fri 13 Nov 2015 12:28:45 PM UTC, comment #5: 

The only thing I dislike is that big chunk of text at the bottom attributing all of the figures. It is important to give attribution but we can do it in some other way?

The png files can have embedded text with copyright information. In addition, have the typical "copyright (C) 2015" at the bottom that links to a separate page with license for the site and details for all the images in the site.

Carnë Draug <carandraug>
Group Member
Fri 06 Nov 2015 08:26:32 PM UTC, comment #4: 

I currenlty count five different font sizes in your preview page.

Octave-Forge (header): 19.2px
Home (header): 12.8px
Packages (body): 24px
These packages (body): 16px
bim (body): 18.7px

Isn't it a little too much?

I would vote for 2 or 3 different sizes if possible.

Julien Bect <jbect>
Fri 06 Nov 2015 08:25:06 PM UTC, comment #3: 

Julien, sounds good. We don't have to plan the release of generate_html accurately. The Makefile can be used to update any packages which have used an old release of generate_html and can be called multiple times if necessary.

I will summarize the changes on the mailing list one more time and then Carnë can make the final decision.

Oliver Heimlich <oheim>
Fri 06 Nov 2015 08:17:23 PM UTC, comment #2: 

Concerning the changes to generate_html: they seem fine to me but I haven't checked thoroughly.

I suggest that you push them directly to the repo (when the other changes are accepted of course).

Then I will check and make a release.

Julien Bect <jbect>
Fri 06 Nov 2015 08:14:49 PM UTC, comment #1: 

Congrats, I really like your column-responsive design.

Julien Bect <jbect>
Wed 04 Nov 2015 11:08:15 PM UTC, original submission:  

Following the discussion on the mailing list here come the patches. If we agree on the changes, I can also provide patches for the current short_package_description files on the website.

I have attributed third-party artists at the end of the packages site. I did not add extra credits for own work or work made by original package authors.

Originally I have planned to use the package's title (from DESCRIPTION) as a short description. However, this information is not returned by pkg ('describe', …). Thus, I extract the first sentence from the long package description as a short description instead.

A preview of the changes is available here temporarily: http://www.heimlich-online.net/htdocs/packages.php

Oliver Heimlich <oheim>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #35400:  Makefile added by oheim (417B - application/octet-stream - New revision of the Makefile which also shortens the package's description)
file #35399:  Makefile added by oheim (406B - application/octet-stream - Use this file to convert the already released packages' short_package_description files in a sourceforge shell.)
file #35385:  octave-project-web.binary.tar.gz added by oheim (564KiB - application/gzip)
file #35386:  octave-generate_html.patch added by oheim (3KiB - text/x-patch)
file #35384:  octave-project-web.text.patch added by oheim (21KiB - text/x-patch)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by mtmiller (Updated the item)
  • -email is unavailable- added by jbect (Posted a comment)
  • -email is unavailable- added by oheim (Submitted the item)
  • -email is unavailable- added by oheim
  • -email is unavailable- added by oheim
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 11 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2018-04-10 mtmiller CategoryNone Forge : new feature
        SummaryOctave Forge: Improve package overview page [octave forge] (generate_html) Improve package overview page
    2015-12-22 oheim Attached File- Added generate_html-pkg-title-link.patch, #35843
        Attached File- Added project-web-pkg-title-link.patch, #35844
    2015-11-06 oheim Attached File- Added Makefile, #35400
    2015-11-06 oheim Attached File- Added Makefile, #35399
    2015-11-04 oheim Attached File- Added octave-project-web.text.patch, #35384
        Attached File- Added octave-project-web.binary.tar.gz, #35385
        Attached File- Added octave-generate_html.patch, #35386
        Carbon-Copy- Added -email is unavailable-
        Carbon-Copy- Added -email is unavailable-

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code