# things to do for mod_perl site infrastructure

Basic Layout:
-------------

- NS4, if PRE is long the page is scrolled to the right! See
  dst_html/docs/2.0/devel/debug_c/debug_c.html#Analyzing_the_core_File
  STATUS: currently we try to learn to live with that by not using NS4

- NS4, the navigation widgets are moved to the right, and need to
  scroll horizontally to get to them. e.g. download/source.html

- check that the stylesheet doesn't have fixed sizes, especially fonts!

DocSet:
-------

- need to add source modification control dependency on
  index_(bot|top).html files

- how do we make L<foo|../search/swish.cgi> I cannot do search::swish,
  it's not a doc.
  STATUS: need to extend pod parser with U<title (url|relative url)>

Menu: 
-----

Templates:
----------

- consider passing the class name to the wrap_box template, so the
  'content' doesn't have to wrap itself in a <div> tag. If class is
  passed then we can use it in <td class="">
  STATUS: low priority

General:
--------

- Need to document the font-type and -size used for the image button,
  so in the future we can add new buttons of the same style if needed.
  STATUS: waiting for input from Allan

Content:
--------

- ask perl.com to link to perl.apache.org from 'perl sites' section.
  + also they need to add theperlreview.com
  STATUS: sent a request to gnat

- consider adding version id to each single document and the docsets,
  so those who download/read pages can tell when things get updated
  (the timestamp is not reliable) and also can be used to help figure
  out against which version the bug was reported. e.g. the following
  should be good enough:

=for html <hr>
<p><b>
$Id: TODO,v 1.81 2002/10/14 09:38:07 pereinar Exp $
</b></p>

=cut


Search:
-------
 - consider adding auto-focus feature:

  <body background="[% doc.dir.abs_doc_root %]/images/bgline.gif"
  bgcolor="#ffffff" onLoad="document.forms[0].elements[0].focus()">

  make sure that this won't create js errors, on pages without
  document.forms[0]
  STATUS: on hold

- add option to select number of results per page.

====================================================================
*** Updating process tuning ***

I'm thinking to use cron to update the site, on let's say 6 hours
basis. Currently I manually execute an update script which does:

 cd /www/perl.apache.org/preview/modperl-docs
 cvs up
 bin/build -f
 bin/makeindex (for search)

since a complete site rebuild including pdf generation is a very heavy
operation, for efficiency we need to extend the update mechanism to
do:

* build + makeindex only if cvs up indicated that things were
  changed. That means that we need something like VCS::CVS to get the
  control over cvs.

futher optimizations:

* rerun makeindex only if things under src/ have changed

* run build -df only if things under tmpl/, src/images or lib/ have
  changed
* otherwise run build -d (without -f), the code will figure out what
  should be updated by itself.

If we do this, no one will need to ssh to the site and manually update
the site.

One thing to think about: what if something goes broken, e.g. someone
has committed code to lib/ and didn't manually verify that everything
builds properly. Then on the next automatic update, things go kaboom
and the site could become unusable. Any ideas how to prevent this?
Currently I haven't planned using cvs for the autogenerated site.

Anybody can help me to replace the 4-liner update script with a more
elaborate one?
====================================================================

Later:
------

- Think about porting the conferences stuff.
  when we have an internal resource, link to it from
  src/help/index_top.html
  Integrate the Talks links from Offsite Resources into that.
  Also Lincoln's talks on CGI and mod_perl are at our disposal (HTML).


- add feather in the tail
<img src="[% doc.dir.abs_doc_root %]/images/feather_transbg.gif" width=194 height=80 alt="ASF feather"> 

- A tutorial on MVC is probably very interesting. Relevant threads:
   o http://mathforum.org/epigone/modperl/jilgygland
   o http://mathforum.org/epigone/modperl/pahphucree
   o http://mathforum.org/epigone/modperl/solchaxzim
   o http://mathforum.org/epigone/modperl/lerdginspir
   o http://mathforum.org/epigone/modperl/stremnemcland
   o http://mathforum.org/epigone/modperl/nounumspim
   o http://mathforum.org/epigone/modperl/blildeudrand
   o http://mathforum.org/epigone/modperl/zhathontimp
   o http://mathforum.org/epigone/modperl/drehkrerlnen
   o http://mathforum.org/epigone/modperl/drurflerdplald
 
  STATUS: Noone has volunteered. Perrin seemed to think he covered
  most of it in his EToys article, but I think there are still some
  parts missing. This one could be really complete, incorporating
  things like bOP, how it compares to the template approach, as well
  as other MVC techniques, pitfalls, etc.
  
  Jesse Erlbaum is going to write an article for a "Perl-related
  publication", but that probably means we're not getting it ;(
  http://mathforum.org/epigone/modperl/pahphucree/450BF163A931D4119C2B00D0B774183D3B24D5@exchange.vm.com

- Waiting for Slava Bizyayev to submit tutorial on Gzip handling in
  different browsers. See:
   o http://mathforum.org/epigone/modperl/pendskumtwox
   o http://mathforum.org/epigone/modperl/blexvarcho
  STATUS: written, Slava is checking out some info and arguing with
  Igor :-)

- mod_perl history page in About section [Per Einar]
  STATUS: working on it

- Figure out a way to get the SecuritySpace statistics as a nice graph
  on our page, looks more impressive if it's locally hosted like the
  Netcraft one: either fetch results and build our own graph, or just
  fetch their graph.

- Adjust things in start with more examples.
  STATUS: Per Einar working on it, but hard to give good example of
  mod_perl that's easy :)
