App-Office-Contacts
view release on metacpan or search on metacpan
This allows the code to use Time::Stamp.
See App::Office::Contacts::Database::Organization and App::Office::Contacts::Database::People.
- Add data/organizations.txt, containing just the org called '-'. Remove it from the fake data file
data/fake.organizations.txt. This means it is inserted when you run populate.tables.pl, which is
what should have been happening from the year dot.
- Rename home_page column in organizations and people tables to homepage (as per Google's suggestion).
- Add the TODO section to the docs.
- Remove the table_names table. Now, the notes table uses entity_id rather than table_id, to point into
either the organizations or people table, and entity_type rather than table_name_id, to specify
which of those 2 tables the note refers to.
- Remove data/edit_types.txt, which was not used.
- Add scripts/pod2html4all.pl.
1.17 Wed Jun 15 8:15:00 2011
- Patch Build.PL and Makefile.PL to reduce the version requirement of File::Copy from 2.18 to 2.14,
to make it easier for people to install without having to upgrade Perl to get the later version.
Thanx to Gabor Szabo for reporting this problem.
- No other changes.
1.16 Tue Nov 16 15:47:00 2010
- Switch from FindBin::Real to FindBin (which is in core).
- Replace /usr/bin/perl with /usr/bin/env perl.
- Replace common::sense with use strict and use warnings, to get uninit var warnings.
- Move lib/App-Office-Contacts/lib/App/Office/Contacts/.htoffice.contacts.conf to config/.
- Change default template path to /dev/shm/html/assets/templates/app/office/contacts.
- Change name of default template path from tmpl_path to template_path, as part of adopting
Text::Xslate.
- Add scripts/copy.config.pl to copy .htoffice.contacts.conf to ~/.perl/App-Office-Contacts/.
- Add missing pre-reqs to Build.PL and Makefile.PL.
- Make Build.PL and Makefile.PL run scripts/copy.config.pl.
1.15 Wed Sep 22 10:00:00 2010
- Replace sub script_name() with $self -> query -> url(-absolute => 1).
- Shift some code into a new module, App::Office::CMS::View::Search. This means a view
now hasa search.
- Chop subs generate_cookie(), generate_digest() and validate_post(). See V 1.09 below.
1.14 Fri Jun 25 11:15:00 2010
- Change all JSON::XS->new->encode(...) to JSON::XS->new->utf8->encode(...).
1.13 Thu Jun 24 14:38:00 2010
- Fix syntax error.
- Use 'select count(*) as count' rather than just 'select count(*)' to avoid
differences between Postgres and SQLite.
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 encountered
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<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.
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.
( run in 1.393 second using v1.01-cache-2.11-cpan-e93a5daba3e )