Subject: Re: [RFC/PATCH] gitweb: Paginate project list

From: Jakub Narebski <[email-masked]>
Date: Sun, 11 May 2008 00:32:37 +0200

On Sun, 10 May 2008, J.H. <[email-masked]> wrote:

> $page_size should be moved to a configuration directive, with a possible
> default of 100, and there should be an option to turn it off completely
> (I.E. kernel.org will likely have it turned off).

If it would be configurable (and I agree that it is probably a good
idea), it should be per gitweb instance (i.e. global variable), and
should perhaps be named $project_list_page_size to distinguish it from
number of items shown (page size) for 'shortlog', 'log' and 'history'
views.

I guess that value of 0, or perhaps of undef would mean to not divide
projects list, or project search results, into pages.

BTW. why do you think that kernel.org would be better to have project
list pagination turned off?
 
> It might also be advantageous to generate the entire list and stash that
> somewhere, (session on the host side?) and run the pagination out of
> that.

First, when using $projectslist file with new (second patch in series,
"gitweb: Allow project description in project_index file" most of data
(well, all except age) would be filled by parsing single file.

Second, the idea is to cache results of filled in @$projlist e.g. using
Storable, i.e. cache Perl data and not final HTML output.

> Would even allow the user to choose how many items they wish to 
> see from a drop down maybe?

I think it is also a good idea, at least for search results.

NOTE that this was an RFC patch, meant mainly to provide comments on
what to improve...

-- 
Jakub Narebski
Poland