Hello fellow mod_perlians,
I know I had promised to send this in by the end of December / early
January, I am really late and sorry. I was caught in France by the french
army for being an alleged deserteur, and they were *very* insistent on
having me stay there. Anyway I'm out now :)
Some time ago Matt Arnold and I started work with the aim of redesigning
the perl.apache.org website. A draft of the proposed layout is sitting at
http://modperl.knowscape.org/ . But adding graphic layout not being the
primary goal we also wanted to change the site architecture so that things
would be more easily found. One of the goals was also to make an "about"
section targetted at people that are not developers but need be convinced
that mod_perl is the way to go. I beleive that could help some of us in
their daily jobs.
I haven't had as much time as I wanted to work on this, but here is the
latest version of the draft. It is by no means final, and any input is
obviously very very welcome. And of course, we didn't write "In my/our
humble opinion" before every element seeing that it might make the read a
bit boring, but consider that it is there in thought.
Also, I know that some work has been done on the site, but I haven't yet
finished readin my mod_perl list mailbox (should be finished by tonight). I
am in no way excluding things that have been said while I wasn't reading, I
just haven't seen them yet :)
The following document is also available at:
http://modperl.knowscape.org/outline20000209.txt
#----------------------------------------------------------------------#
# I. Site Structure
#----------------------------------------------------------------------#
Home Page
=========
- brief introduction to mod_perl "What is mod_perl?", "More than CGI",
links to more detailed introductory content.
- news box (top n headlines and teasers)
- short text explaining where to find what is in the site
- quick "get started fast" link to Stas' guide section on that subject
- small, concentrated Netcraft box heralding usage and growth
. Apache Servers: x million / 63%
. Modperl Powered: x hundred thousand / 5%
. Modperl presence keeps growing at an incredible pace,
. more -> link to /about/netcraft/
News
====
/news/?id=x or /news/x.html
- script/handler shows full news article for article number x or static
page pregenerated
/news/search.html
- quick way to search past news items
Download
========
/download/
- link to the mod_perl bundle
- list of the latest CHANGES
- requirements (Apache 1.3.xx, etc...)
- links to install help documentation, including mod_perl help, the
guide and the entire docset.
/download/modules/
- about CPAN
- info on Apache::* modules
(from http://perl.apache.org/src/apache-modlist.html or the new
version if it is a workable solution cf II. Tools)
- link to /docs/modules/ documentation (it would be nice to
centralise the docs for all the modules)
About
=====
(i.e. marketing info, introduction to features (the detailed developer
info is kept in the doc section))
/about/
- links to the various pages in this section with descriptions of
their content
/about/usage/
- Netcraft usage info found at http://perl.apache.org/netcraft/
- extracts from the following:
. customer list/testimonials, use a subset of info from
http://perl.apache.org/tidbits.html,
http://perl.apache.org/stories/,
http://perl.apache.org/sites.html
. info on high-profile sites gathered by Rex Staples
/about/usage/customers/
- complete list of customers (to the best of our knowledge anyway)
/about/usage/testimonials/
- complete list of customer testimonials and success stories
/about/press/
- mod_perl in the news (i.e. press saying how cool mod_perl is)
- use info from http://perl.apache.org/tidbits.html, search around
for more (eg the Beanie Award)
/about/performance/
- boast about speed, intro to the content that lives at
http://www.chamas.com/hello_world.html or host the content
directly (split among multiple pages ? It's a very long document),
borrow ideas from the mySQL crash_me comparison database
- should we use a crashme script too ? Does it make sense ?
/about/advocacy/
- factoids to help persuade PHB's for mod_perl
- perl versus everything else
http://perl.apache.org/perl_myth.html,
http://language.perl.com/versus/index.html
Note: I find it looks quite unhealthy to be on the defensive. This
section shouldn't be put forth too much, and we should add a
disclaimer stating that these are merely arguments provided to
help people that have a hard time convincing eg stubborn
management
/about/features/
- basic intro to mod_perl features
- link to documentation for detailed information on each feature
described
- CGI emulation using Apache::Registry and Apache::PerlRun, touch on
Apache::Request?
- describe briefly all the phases of the Apache request/response
lifecycle explain how mod_perl can intervene in all these stages
- brief overview of some of the systems running under mod_perl that
can be leveraged into a lot of power
/about/logos/
- content comes from http://perl.apache.org/logos/
- update with some new logos
/about/credits/
- list of mod_perl project contributors. The list is quite long and
a bit out of date. Listing people by category, date, release ?
/about/solutions/
- an as-complete-as-possible list of perl-embedding-templating-etc
tools that use mod_perl (even if they don't require it), with a
listing of their pros and cons. mod_perl's wealth sometimes works
in it's disfavour as it is really hard for newcomers to know which
one of these solutions they should go with. Obviously this is
*not* to be a "my system is better than yours" game, all of these
are useful in the right context. Some may have a more general set
of features, but would definitely be overkill for certain tasks.
It might be good if authors would submit their own list of pros
and cons.
- refocused info from http://perl.apache.org/products.html?
Support
=======
/support/
- about the mailing list, how to subscribe/unsubscribe
- list of list of various archive sources from
http://perl.apache.org/
- list of businesses doing commercial support (e.g. Matt Sergeant)
Documentation
=============
/docs/
- links to and overview of the various on-site documentation in this
section
- links to popular off-site documentation (ASP, Embperl, Mason...)
- link to http://www.refcards.com/
- link to perlmonth articles
/docs/guide/
- Stas' guide from http://perl.apache.org/guide/
Note: there's a lot of great documentation out there. I don't know
if we should do a separate section for the guide or not, or
for all. The size of the guide seems to require it.
Note: should the guide match layout of the rest of the site ? Doing
it shouldn't be a problem and it might be better to have a
consistent layout but I'm totally unsure of this, and of
course it is up to Stas to make the final decision on this
point. The HTML of the guide being generated, I guess we can
have as many layouts as we want/need.
/docs/books/
- intro to the Eagle book, link to http://www.modperl.com/
- mention Stas' guide + Eric -> book
- subset of glowing reviews lifted from amazon.com, TPJ, or
elsewhere?
- a few Perl-only books to complement the list of mod_perl books
- links to amazon.com, oreilly.com, etc...
/docs/tutorials/
- list of the best tutorials found on other sites
- use links from http://perl.apache.org/tidbits.html,
http://www.perlmonth.com/
/docs/faqs/
- http://perl.apache.org/faq/
- http://perl.apache.org/faqs.html
- http://perl.apache.org/dist/cgi_to_mod_perl.html
- http://perl.apache.org/dist/mod_perl_traps.html
- http://perl.apache.org/src/mod_perl.html
- http://perl.apache.org/tuning/
- ?
Note: see above for documents in this list that may not be best put
under faqs but might have a section of their own.
/docs/modules/
? htmlified version of all or most of the module pods (that could
easily be included in both the site's template for online browsing
and in a simpler, imageless template for download)
Search
======
/search/
- allowing to search a subset of the site (e.g. just docs) would be nice
Links
=====
/links/
- mod_perl-specific places to visit e.g. modperl.sourcegarden.org,
maybe perl and apache places too to complement the list
#----------------------------------------------------------------------#
# II. Tools
#----------------------------------------------------------------------#
Note: I am not up to date re the facilities available from
perl.apache.org (not to mention it's mirrors), sourcegarden.org
(especially since it has changed) or perlmonth.com (if it goes
beyond the great idea of buying the domain name). I can supplement
any resource deficiencies using my own server.
It may be a workable solution given the restrictions on perl.apache.org
to generate whatever can be pregenerated on another server and have that
server CVS the output up to perl.apache.org automatically.
For some of these entries, we need to know how they will be posted to
the site (can ISPs submit themselves, who is in charge of adding news,
etc...). Making posting open but moderated (possibly by several of us)
seems like a workable options to me.
News Program
============
News and News admin programs needed.
Chances are it is useless to generate the news dynamically especially
as they are unlikely to change too often. The news admin could generate
both the headlines snippet included on the front page and the pages
corresponding to archived/complete news items in the /news section. All
this can be static and stored on disk. I know it is mod_perl we are
advertising, but to use it efficiently I believe that what doesn't
*need* to be dynamic shouldn't be. The remaining problem will be how to
search the news.
Wrapper/converter for text and pod files
========================================
Much of the user-contributed material comes in text or pod. To provide a
look and feel consistent with the rest of the site, we will need to
develop a script to "wrap" into a template for the site. The pod2html
script is insufficient for this task but we can probably leverage
earlier work by Stas (for the Guide) on such scripts as well as
Pod::Parser.
Job Postings
============
Same as for the news. (though perlmonth is doing this now, we could just
link to that).
ISP List
========
Same as for the news.
Testimonials and stories, etc...
================================
Same as for the news
Module Database
===============
A list of the names + download link + description/author/last_modified/
CPAN_status + link to the homepage for the module + synopsis.
Part of this can be handled automatically by a cron script that would
check CPAN on a regular basis (or the already existing database of
search.cpan.org) and update the list using more or less the same method
as for the news.
This would hopefully help keep the modlist constantly up-to-date while
reducing the maintenance to be done on it. Meanwhile, the maintenance
can still be done by hand.
#----------------------------------------------------------------------#
# III. Layout
#----------------------------------------------------------------------#
Note: a simple bunch of RewriteRules redirecting the present pages to
their new locations would be a nice thing to do, and an easy one
too.
There was quite a lot of feedback on the template that was put up at
http://modperl.knowscape.org/ A number of issues were raised which I
have jotted down and have plans to address if that layout is chosen.
I can also transfer any information on the subject to anyone wishing to
do some graphical work. I saw that someone has done some work updating
the present page (and it looks good) but I haven't had time yet to catch
with any mail relating to that subject.
Templates
=========
>graphical
- simple navigation bar with search box
- tweak it to remove several problems, including:
. 800x600 is the current minimal resolution
. there is too much HTML, reduce it by taking a the useless effects
out
. sending PNG instead of GIF to user-agents that support them would
be nice, but I haven't come up with a reliable way to do this yet
(content-negotiation is probably insufficient)
. the current table-based layout is a pain for very long pages
which are likely to exist in some places on this site. Working
around this is not impossible, but will require thought
- having a navbar that evolves (with sublists when in the
corresponding section) to show where one is would be nice and not
too hard either)
- graphical section headers are a potential problem, but they could be
generated using GD and/or PerlMagic. Otherwise there are plenty of
ways we can work our way around this
>text
- this is much easier obviously, however I've often heard people say
they thought text-navigation was easier with the navbar at the top
and bottom of the page. I'd like to have opinions on this, but
please let's avoid religion wars on this subject.
.Robin
Radioactive cats have 18 half-lives.