Revision history for Perl extension App::Office::Contacts. 1.12 Wed Jun 23 13:29:00 2010 - 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). 1.11 Thu Jun 3 17:23:00 2010 - 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. 1.10 Wed May 19 11:11:00 2010 - 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). 1.09 Tue Apr 20 8:38:00 2010 - Comment out the processing which checks for CSRF, since I excountered a case where it did not work. 1.08 Fri Apr 16 8:52:00 2010 - 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. 1.07 Wed Apr 7 8:51:00 2010 - Update pre-reqs for Test::Pod to 1.41 to avoid Test::Pod's dithering about a POD construct I used: L, 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. 1.06 Mon Mar 29 14:53:00 2010 - 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. 1.05 Tue Mar 2 9:28:00 2010 - 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. 1.04 Sun Feb 21 12:54:14 2010 - 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. 1.03 Fri Feb 5 17:27:00 2010 - 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. 1.02 Fri Jan 29 09:52:00 2010 - 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. 1.01 Thu Jan 7 15:39:00 2010 - Add MANIFEST and MYMETA.yml 1.00 Thu Dec 31 10:48:00 2009 - 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 0.99 Thu Mar 06 11:30:45 2008 - Original version.