This is the README for CPAN-Search-Lite, a set of modules
for setting up a CPAN search system. It does not implement
the full set of features (eg, multiple package versions) available
on search.cpan.org. If a local CPAN mirror is available, 
the pod (and converted html) documentation will be extracted
from the packages, as well as possible README/INSTALL/Changes/META.yml
files. See http://mirrors.cpan.org/ for details on how you can
mirror CPAN, or alternatively, the CPAN-Mini distribution
under http://www.cpan.org/authors/id/R/RJ/RJBS/ for a way
to set up a minimal CPAN mirror consisting of only the latest
distributions.

As well as various Perl modules which are checked for when
installing, MySQL is required; version 4 is needed for some
text searching capabilities. See the INSTALL file for details
on installation.

The included modules, with pod documentation, are:

CPAN::Search::Lite::Extract   - extract files from distributions
CPAN::Search::Lite::Index     - index and update the database
CPAN::Search::Lite::Info      - extract info from the CPAN indices
CPAN::Search::Lite::PPM       - get info from PPM repositories
CPAN::Search::Lite::State     - get the state of the current database
CPAN::Search::Lite::Populate  - populate the database
CPAN::Search::Lite::Query     - query the database
CPAN::Search::Lite::Util      - some common data structures
CPAN::Search::Lite::Lang      - some common language data structures

As well, some PPM::XML::* modules (from the PPM distribution of 
MURRAY, on CPAN) are included for extracting info from the PPM
repositories.

Two different mod_perl interfaces to CPAN::Search::Lite::Query are
included as Apache::CPAN::Query and Apache::CPAN::Search. A cgi script
and soap server examples are in the cgi-bin directory.  Two
different Template-Toolkit sets of pages are found in the tt2/
and tt2-alt/ subdirectories. Note that some manual editing of some
of these files may be needed, particularly for urls reflecting the
local server, the location of the tt2 pages, and the username,
password, and name of the database to be used when connecting to 
the database for performing queries. The embedded pod documentation
contains more details.

The bin/ subdirectory contains 3 scripts:

csl_index   - create and subsequently update the database
csl_query   - an example script for performing local queries
csl_soap    - an example script for performing soap-based queries

The cgi-bin/ subdirectory contain 4 scripts:

search        - a cgi interface to CPAN::Search::Lite::Query
soap.cgi      - a SOAP-based query form (see bin/csl_soap)
docserver.cgi - the SOAP server for perldocs, for viewing remote
                pod documentation - see Pod::Perldocs, and the
                Pod-Perldocs project at http://sourceforge.net/projects/cpan-search/.
ppminfo.cgi   - the SOAP server for PPM::Make, used to get author,
                module, and distribution information - see PPM::Make, and the
                PPM-Make project at http://sourceforge.net/projects/cpan-search/.

SOAP::Lite is required in order to perform soap queries.

See the INSTALL file for directions on installation.
Development takes place at the CPAN-Search-Lite project
on SourceForge at http://sourceforge.net/projects/cpan-search/.

Support for presenting results in different languages in a
web environment, based on the browser's language preference, is
available - see the INSTALL file for a brief discussion
on how to set this up. At present English, French, German,
Italian, and Spanish are available, although others can readily
be added (this would involve providing translation of terms
appearing in CPAN::Search::Lite::Lang, as well as providing
the corresponding tt2 pages). Note that this does not include,
in particular, translations of the abstracts of modules or
distributions, nor of the accompanying documentation. The translations
were initially done through http://world.altavista.com/babelfish/tr,
but have been greatly improved with the help of
  French: Isabelle Hernandez <isa at panix.com>
          Arnaud Assad <arnaud at underlands.org>
  German: Florian Greb <greb at inf.fu-berlin.de>
  Italian: Enrico Sorcinelli <bepi at modperl.it>
  Spanish: Joaquin Ferrero <explorer at joaquinferrero.com>
As this is still evolving, patches are welcome.

An implementation of this search engine is at
  http://cpan.uwinnipeg.ca/htdocs/faqs/cpan-search.html

Randy Kobes <r.kobes@uwinnipeg.ca>

