[Module]
Name=App::Office::Contacts
Changelog.Creator=Module::Metadata::Changes V 1.08
Changelog.Parser=Config::IniFiles V 2.57

[V 1.13]
Date=2010-06-24T14:38:00
Comments= <<EOT
- Fix syntax error.
- Use 'select count(*) as count' rather than just 'select count(*)' to avoid
differences between Postgres and SQLite.
EOT

[V 1.12]
Date=2010-06-23T13:29:00
Comments= <<EOT
- Fix logic error in Create.pm.report_all_tables(). I was getting a list of
table names from a file in the distro the same way I do when populating
tables at installation time. But this file may not be available at run
time after installation.
- No longer ship scripts/schema.sh. I use dbigraph.pl from GraphViz::DBI
modified to use GraphViz::DBI::General (which subclasses GraphViz::DBI).
EOT

[V 1.11]
Date=2010-06-03T17:23:00
Comments= <<EOT
- Fix typos arising after I changed the name of the module
from CGI::Office::* to App::Office::*. This patch was lost
when I replaced Debian testing with lenny on my laptop.
- Ship docs/html/contacts.faq.html as previously documented.
EOT

[V 1.10]
Date=2010-05-19T11:11:00
Comments= <<EOT
- Update comments re starman usage in contacts.psgi.
- Chop mailing list stuff from support.
- Update version numbers in Build.PL and Makefile.PL.
- Ensure config code is only called once (App::Office::Contacts::Util::LogConfig).
EOT

[V 1.09]
Date=2010-04-20T08:38:00
Comments= <<EOT
- Comment out the processing which checks for CSRF since I excountered
a case where it did not work.
EOT

[V 1.08]
Date=2010-04-16T08:52:00
Comments= <<EOT
- Warning: The organizations and people tables have a new column: upper_name.
This is due to a defect in SQLite which does not allow function calls
when defining an index. Hence the index on people(upper(name) ) has to be
now written as people(upper_name). You can easily write a little program
to use alter table and then populate the new column.
The search code uses the new column.
- Change SQLite attribute from unicode to sqlite_unicode.
- Change the default database driver from Postgres to SQLite
to make installation easier (by not requiring DBD::Pg).
If using another database server you'll need to edit the 2 lines
in .htoffice.contacts.conf which refer to SQLite.
- Fix Makefile.PL to use App::* not CGI::*.
My apologies for this carelessness.
- Rework cookies and POST validation to allow Contacts Donations and
Import::vCards to run in parallel.
EOT

[V 1.07]
Date=2010-04-07T08:51:00
Comments= <<EOT
- Update pre-reqs for Test::Pod to 1.41 to avoid Test::Pod's dithering
about a POD construct I used: L<text|scheme:...> which makes a test fail.
See comments for V 1.40 and 1.41 at:
http://cpansearch.perl.org/src/DWHEELER/Test-Pod-1.42/Changes
- Update pre-reqs from Test::More V 0 to Test::Simple 0.94.
EOT

[V 1.06]
Date=2010-03-29T14:53:00
Comments= <<EOT
- Create indexes on organizations and people tables using upper(name)
to speed up searching. The index names are:
- organizations: opganizations_upper_name
- people: people_upper_name.
- Add parent to pre-reqs in Build.PL and Makefile.PL.
EOT

[V 1.05]
Date=2010-03-02T09:28:00
Comments= <<EOT
- In cgiapp_prerun() protect against XSS and CSRF:
o Only accept CGI params if the request method is 'POST'.
o Ensure digest in session matches digest in cookie.
o http://www.freedom-to-tinker.com/blog/wzeller/popular-websites-vulnerable-cross-site-request-forgery-attacks
- Change 'use base' to 'use parent'.
- Remove form_action from config file. See sub script_name.
- Replace references to FCGI with Plack. This includes no longer
shipping FCGI-specific files nor patches to Apache's httpd.conf.
- Ship httpd/cgi-bin/office/contacts.psgi.
- Adopt Log::Dispatch::Configurator.
See App::Office::Contacts::Util::LogConfig.
- Replace Carp::croak with die assuming calling code uses Try::Tiny.
- Stop using Time::Elapsed (at table create/populate time).
- Zap drop_and_create_all_tables() and run() from App::Office::Contacts::Util::Create.
- In drop.tables.pl and create.tables.pl change the 'verbose+' option
definition to 'verbose' since the '+' doesn't make sense.
- Clean up what is real data and what is fake data.
- Rename data/email_addresses.txt => data/fake.email_addresses.txt.
- Rename data/email_people.txt => data/fake.email_people.txt.
- Rename data/people.txt => data/fake.people.txt.
- Rename data/phone_numbers.txt => data/fake.phone_numbers.txt.
- Rename data/phone_people.txt => data/fake.phone_people.txt.
- Rename data/organizations.txt => data/fake.organizations.txt.
- Add comments to .htoffice.contacts.conf while simplifying the
discussion of the Javascript URL.
- Change the default URL of the FAQ.
- Use common::sense instead of strict and warnings.
- Add unicode to .htoffice.contacts.conf - used by SQLite - and add
corresponding code to BEGIN{} in App::Office::Contacts::Database
in case anyone wants to use DBD::SQLite.
- Fix off-by-one error in report.js when indexing into
document.report_form.report_id.options[report - 1].text.
- Change some logging in Contacts.pm from info to debug.
EOT

[V 1.04]
Date=2010-02-21T12:54:14
Comments= <<EOT
- Remove text 'All rights reserved' (for Debian licensing).
- Remove POD heads 'Required Modules' and 'Changes'.
- Replace personal doc root with /var/www.
- Use namespace::autoclean with Moose.
EOT

[V 1.03]
Date=2010-02-05T17:27:00
Comments= <<EOT
- Remove personal use lib from CGI scripts.
- Use smarter check for calendar div in Contacts.build_head_init
so cursor appears in search name box upon startup.
EOT

[V 1.02]
Date=2010-01-29T09:52:00
Comments= <<EOT
- Change namespace from CGI::Office::* to App::Office::* after discussion with Matt Trout.
- Add config item css_url.
- Tell Module::Build to install .htoffice.contacts.conf.
EOT

[V 1.01]
Date=2010-01-07T15:39:00
Comments=- Add MANIFEST and MYMETA.yml

[V 1.00]
Date=2009-12-31T10:48:00
Comments= <<EOT
- Rename from Local::Contacts.
- Remove Apache-specific code.
- Split into N controllers using CGI::Application::Dispatch.
- Split into separate distros:
o App::Office::Contacts
o App::Office::Contacts::Donations
o App::Office::Contacts::Export::StickyLabels
o App::Office::Contacts::Import::vCards
o App::Office::Contacts::Sites
EOT

[V 0.99]
Date=2008-03-06T11:30:45
Comments=- Original version.
