[Bast-commits] r9895 - in ironman/IronMan-Web/tags: . ironboy
ironboy/lib/IronMan/Web/Controller ironboy/root ironboy/root/inc
idn at dev.catalyst.perl.org
idn at dev.catalyst.perl.org
Tue Jul 5 10:26:18 GMT 2011
Author: idn
Date: 2011-07-05 10:26:18 +0000 (Tue, 05 Jul 2011)
New Revision: 9895
Added:
ironman/IronMan-Web/tags/ironboy/
ironman/IronMan-Web/tags/ironboy/Changes
ironman/IronMan-Web/tags/ironboy/Makefile.PL
ironman/IronMan-Web/tags/ironboy/README
ironman/IronMan-Web/tags/ironboy/development-cycle.pod
ironman/IronMan-Web/tags/ironboy/ironman_web.conf
ironman/IronMan-Web/tags/ironboy/ironman_web_ironboy.conf
ironman/IronMan-Web/tags/ironboy/ironman_web_ironman.conf
ironman/IronMan-Web/tags/ironboy/ironman_web_localhost.conf
ironman/IronMan-Web/tags/ironboy/lib/
ironman/IronMan-Web/tags/ironboy/lib/IronMan/Web/Controller/Root.pm
ironman/IronMan-Web/tags/ironboy/root/
ironman/IronMan-Web/tags/ironboy/root/inc/ironman_header.tt
ironman/IronMan-Web/tags/ironboy/root/new_feed.tt
ironman/IronMan-Web/tags/ironboy/script/
ironman/IronMan-Web/tags/ironboy/t/
ironman/IronMan-Web/tags/ironboy/todo.pod
Removed:
ironman/IronMan-Web/tags/ironboy/Changes
ironman/IronMan-Web/tags/ironboy/Makefile.PL
ironman/IronMan-Web/tags/ironboy/README
ironman/IronMan-Web/tags/ironboy/development-cycle.pod
ironman/IronMan-Web/tags/ironboy/ironman_web.conf
ironman/IronMan-Web/tags/ironboy/ironman_web_ironboy.conf
ironman/IronMan-Web/tags/ironboy/ironman_web_ironman.conf
ironman/IronMan-Web/tags/ironboy/ironman_web_localhost.conf
ironman/IronMan-Web/tags/ironboy/lib/
ironman/IronMan-Web/tags/ironboy/lib/IronMan/Web/Controller/Root.pm
ironman/IronMan-Web/tags/ironboy/root/
ironman/IronMan-Web/tags/ironboy/root/inc/ironman_header.tt
ironman/IronMan-Web/tags/ironboy/root/new_feed.tt
ironman/IronMan-Web/tags/ironboy/script/
ironman/IronMan-Web/tags/ironboy/t/
ironman/IronMan-Web/tags/ironboy/todo.pod
Log:
New push
Deleted: ironman/IronMan-Web/tags/ironboy/Changes
===================================================================
--- ironman/IronMan-Web/tags/IronMan-Web-0.02/Changes 2011-07-05 10:26:10 UTC (rev 9893)
+++ ironman/IronMan-Web/tags/ironboy/Changes 2011-07-05 10:26:18 UTC (rev 9895)
@@ -1,4 +0,0 @@
-This file documents the revision history for Perl extension IronMan::Web.
-
-0.01 2009-07-01 21:07:26
- - initial revision, generated by Catalyst
Copied: ironman/IronMan-Web/tags/ironboy/Changes (from rev 9884, ironman/IronMan-Web/tags/IronMan-Web-0.02/Changes)
===================================================================
--- ironman/IronMan-Web/tags/ironboy/Changes (rev 0)
+++ ironman/IronMan-Web/tags/ironboy/Changes 2011-07-05 10:26:18 UTC (rev 9895)
@@ -0,0 +1,4 @@
+This file documents the revision history for Perl extension IronMan::Web.
+
+0.01 2009-07-01 21:07:26
+ - initial revision, generated by Catalyst
Deleted: ironman/IronMan-Web/tags/ironboy/Makefile.PL
===================================================================
--- ironman/IronMan-Web/tags/IronMan-Web-0.02/Makefile.PL 2011-07-05 10:26:10 UTC (rev 9893)
+++ ironman/IronMan-Web/tags/ironboy/Makefile.PL 2011-07-05 10:26:18 UTC (rev 9895)
@@ -1,44 +0,0 @@
-use inc::Module::Install;
-
-name 'IronMan-Web';
-all_from 'lib/IronMan/Web.pm';
-
-requires 'Catalyst::Runtime' => '5.7015';
-requires 'Catalyst::Plugin::ConfigLoader';
-requires 'Catalyst::Plugin::Static::Simple';
-requires 'Catalyst::Plugin::StackTrace';
-requires 'Catalyst::Action::RenderView';
-requires 'YAML'; # This should reflect the config file format you've chosen
- # See Catalyst::Plugin::ConfigLoader for supported formats
-
-requires 'Catalyst::Controller::reCAPTCHA';
-requires 'Catalyst::View::TT';
-requires 'Catalyst::Model::DBIC::Schema';
-requires 'Data::UUID';
-requires 'Email::Valid';
-requires 'LWP::Simple';
-requires 'XML::Feed';
-requires 'DateTime';
-requires 'XML::OPML';
-requires 'DateTime::Format::HTTP';
-requires 'YAML::XS';
-requires 'IronMan::Schema';
-requires 'Term::Prompt';
-requires 'Try::Tiny';
-# We need DateTime::Format::SQLite for script/import_csv.pl if using SQLite
-recommends 'DateTime::Format::SQLite';
-
-# We need TryCatch::Error for script/pull_urls.pl
-recommends 'TryCatch::Error';
-
-# We need FCGI::ProcManager to run this as a Fast CGI process.
-recommends 'FCGI::ProcManager';
-
-# Testing deps
-test_requires 'Catalyst::Test';
-
-catalyst;
-
-install_script glob('script/*.pl');
-auto_install;
-WriteAll;
Copied: ironman/IronMan-Web/tags/ironboy/Makefile.PL (from rev 9884, ironman/IronMan-Web/tags/IronMan-Web-0.02/Makefile.PL)
===================================================================
--- ironman/IronMan-Web/tags/ironboy/Makefile.PL (rev 0)
+++ ironman/IronMan-Web/tags/ironboy/Makefile.PL 2011-07-05 10:26:18 UTC (rev 9895)
@@ -0,0 +1,44 @@
+use inc::Module::Install;
+
+name 'IronMan-Web';
+all_from 'lib/IronMan/Web.pm';
+
+requires 'Catalyst::Runtime' => '5.7015';
+requires 'Catalyst::Plugin::ConfigLoader';
+requires 'Catalyst::Plugin::Static::Simple';
+requires 'Catalyst::Plugin::StackTrace';
+requires 'Catalyst::Action::RenderView';
+requires 'YAML'; # This should reflect the config file format you've chosen
+ # See Catalyst::Plugin::ConfigLoader for supported formats
+
+requires 'Catalyst::Controller::reCAPTCHA';
+requires 'Catalyst::View::TT';
+requires 'Catalyst::Model::DBIC::Schema';
+requires 'Data::UUID';
+requires 'Email::Valid';
+requires 'LWP::Simple';
+requires 'XML::Feed';
+requires 'DateTime';
+requires 'XML::OPML';
+requires 'DateTime::Format::HTTP';
+requires 'YAML::XS';
+requires 'IronMan::Schema';
+requires 'Term::Prompt';
+requires 'Try::Tiny';
+# We need DateTime::Format::SQLite for script/import_csv.pl if using SQLite
+recommends 'DateTime::Format::SQLite';
+
+# We need TryCatch::Error for script/pull_urls.pl
+recommends 'TryCatch::Error';
+
+# We need FCGI::ProcManager to run this as a Fast CGI process.
+recommends 'FCGI::ProcManager';
+
+# Testing deps
+test_requires 'Catalyst::Test';
+
+catalyst;
+
+install_script glob('script/*.pl');
+auto_install;
+WriteAll;
Deleted: ironman/IronMan-Web/tags/ironboy/README
===================================================================
--- ironman/IronMan-Web/tags/IronMan-Web-0.02/README 2011-07-05 10:26:10 UTC (rev 9893)
+++ ironman/IronMan-Web/tags/ironboy/README 2011-07-05 10:26:18 UTC (rev 9895)
@@ -1 +0,0 @@
-Run script/ironman_web_server.pl to test the application.
Copied: ironman/IronMan-Web/tags/ironboy/README (from rev 9884, ironman/IronMan-Web/tags/IronMan-Web-0.02/README)
===================================================================
--- ironman/IronMan-Web/tags/ironboy/README (rev 0)
+++ ironman/IronMan-Web/tags/ironboy/README 2011-07-05 10:26:18 UTC (rev 9895)
@@ -0,0 +1 @@
+Run script/ironman_web_server.pl to test the application.
Deleted: ironman/IronMan-Web/tags/ironboy/development-cycle.pod
===================================================================
--- ironman/IronMan-Web/tags/IronMan-Web-0.02/development-cycle.pod 2011-07-05 10:26:10 UTC (rev 9893)
+++ ironman/IronMan-Web/tags/ironboy/development-cycle.pod 2011-07-05 10:26:18 UTC (rev 9895)
@@ -1,112 +0,0 @@
-=head1 IronMan::Web
-
-This module forms part of the Enlightened Perl Organisation IronMan project.
-
-For more details, see the overview document at:
-
- http://dev.catalyst.perl.org/repos/bast/ironman/overview.pod
-
-The latest version of this document can be found at:
-
- http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/trunk/development-cycle.pod
-
-The repository is layed out as follows:
-
- branches - current development branches
- tags - current releases including live and dev sites
- trunk - current cutting edge waiting for release tagging
-
-=head1 Trunk and branches.
-
-Trunk contains the latest cutting edge code. It's recommended that you don't
-work directly in trunk, but create yourself a branch.
-
-=head2 Branches.
-
-Create your own branch for 'very cool new feature' as follows:
-
- svn cp http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/trunk/ \
- http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/branches/very_cool_new_feature \
- -m "Creating branch to work on my very cool new feature"
-
-Work on files in your branch, then once you're done you can either poke someone
-on the irc channel or you can merge it back into trunk yourself (see below).
-
-=head2 The '-Debug' option
-
-You may wish to enable the Catalyst debugging module within your branch.
-
- diff -Naur branches/ironboy/lib/IronMan/Web.pm branches/dev/lib/IronMan/Web.pm
- --- branches/ironboy/lib/IronMan/Web.pm 2010-07-10 10:37:30.825413356 +0100
- +++ branches/dev/lib/IronMan/Web.pm 2010-07-10 10:37:31.174421647 +0100
- @@ -14,7 +14,7 @@
- # Static::Simple: will serve static files from the application's root
- # directory
-
- -use Catalyst qw/ConfigLoader Static::Simple StackTrace/;
- +use Catalyst qw/-Debug ConfigLoader Static::Simple StackTrace/;
-
- our $VERSION = '0.01';
-
-
-=head1 Merging bug fixes and branches back into trunk.
-
-In order to maintain a nice history and clean revisions for rollback and
-additions, we'll create ourselves a new tagged version and then copy that
-to ironboy for testing. Once testing is completed, we'll delete the
-ironboy tag and copy ironman to it.
-
-=head2 Merging into trunk
-
-Merging a branch back into trunk:
-
- svn co http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/trunk/
- cd trunk
- svn merge --reintegrate http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/branches/very_cool_new_feature
- svn commit -m "Merging very cool new feature branch back into trunk"
-
-=head2 Comparing branches for cherry picking
-
-
-Need to add docs here...
-
-
-=head1 Release process
-
-=head2 Trunk to release
-
-Increment the version number within lib/IronMan/Web.pm:
-
- our $VERSION = '0.02';
-
-Commit the change:
-
- svn commit lib/IronMan/Web.pm -m "Incrementing version"
-
-Copy trunk to the release:
-
- svn cp http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/tags/IronMan-Web-0.02 \
- http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/tags/ironboy \
- -m "Releasing IronMan-Web-0.02 to ironboy"
-
-=head2 Release to ironboy
-
-Delete the currently tagges ironman
-
- svn del http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/tags/ironboy \
- -m "Removing ironboy for release of IronMan-Web-0.02"
- svn cp http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/tags/IronMan-Web-0.02 \
- http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/tags/ironboy \
- -m "Releasing IronMan-Web-0.02 to ironboy"
-
-=head2 Ironboy to ironman
-
-Delete the currently tagges ironman
-
- svn del http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/tags/ironman \
- -m "Removing ironman for release of ironboy"
- svn cp http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/tags/ironboy
- http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/tags/ironman \
- -m "Releasing ironboy to ironman"
-
-=cut
Copied: ironman/IronMan-Web/tags/ironboy/development-cycle.pod (from rev 9884, ironman/IronMan-Web/tags/IronMan-Web-0.02/development-cycle.pod)
===================================================================
--- ironman/IronMan-Web/tags/ironboy/development-cycle.pod (rev 0)
+++ ironman/IronMan-Web/tags/ironboy/development-cycle.pod 2011-07-05 10:26:18 UTC (rev 9895)
@@ -0,0 +1,112 @@
+=head1 IronMan::Web
+
+This module forms part of the Enlightened Perl Organisation IronMan project.
+
+For more details, see the overview document at:
+
+ http://dev.catalyst.perl.org/repos/bast/ironman/overview.pod
+
+The latest version of this document can be found at:
+
+ http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/trunk/development-cycle.pod
+
+The repository is layed out as follows:
+
+ branches - current development branches
+ tags - current releases including live and dev sites
+ trunk - current cutting edge waiting for release tagging
+
+=head1 Trunk and branches.
+
+Trunk contains the latest cutting edge code. It's recommended that you don't
+work directly in trunk, but create yourself a branch.
+
+=head2 Branches.
+
+Create your own branch for 'very cool new feature' as follows:
+
+ svn cp http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/trunk/ \
+ http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/branches/very_cool_new_feature \
+ -m "Creating branch to work on my very cool new feature"
+
+Work on files in your branch, then once you're done you can either poke someone
+on the irc channel or you can merge it back into trunk yourself (see below).
+
+=head2 The '-Debug' option
+
+You may wish to enable the Catalyst debugging module within your branch.
+
+ diff -Naur branches/ironboy/lib/IronMan/Web.pm branches/dev/lib/IronMan/Web.pm
+ --- branches/ironboy/lib/IronMan/Web.pm 2010-07-10 10:37:30.825413356 +0100
+ +++ branches/dev/lib/IronMan/Web.pm 2010-07-10 10:37:31.174421647 +0100
+ @@ -14,7 +14,7 @@
+ # Static::Simple: will serve static files from the application's root
+ # directory
+
+ -use Catalyst qw/ConfigLoader Static::Simple StackTrace/;
+ +use Catalyst qw/-Debug ConfigLoader Static::Simple StackTrace/;
+
+ our $VERSION = '0.01';
+
+
+=head1 Merging bug fixes and branches back into trunk.
+
+In order to maintain a nice history and clean revisions for rollback and
+additions, we'll create ourselves a new tagged version and then copy that
+to ironboy for testing. Once testing is completed, we'll delete the
+ironboy tag and copy ironman to it.
+
+=head2 Merging into trunk
+
+Merging a branch back into trunk:
+
+ svn co http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/trunk/
+ cd trunk
+ svn merge --reintegrate http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/branches/very_cool_new_feature
+ svn commit -m "Merging very cool new feature branch back into trunk"
+
+=head2 Comparing branches for cherry picking
+
+
+Need to add docs here...
+
+
+=head1 Release process
+
+=head2 Trunk to release
+
+Increment the version number within lib/IronMan/Web.pm:
+
+ our $VERSION = '0.02';
+
+Commit the change:
+
+ svn commit lib/IronMan/Web.pm -m "Incrementing version"
+
+Copy trunk to the release:
+
+ svn cp http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/tags/IronMan-Web-0.02 \
+ http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/tags/ironboy \
+ -m "Releasing IronMan-Web-0.02 to ironboy"
+
+=head2 Release to ironboy
+
+Delete the currently tagges ironman
+
+ svn del http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/tags/ironboy \
+ -m "Removing ironboy for release of IronMan-Web-0.02"
+ svn cp http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/tags/IronMan-Web-0.02 \
+ http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/tags/ironboy \
+ -m "Releasing IronMan-Web-0.02 to ironboy"
+
+=head2 Ironboy to ironman
+
+Delete the currently tagges ironman
+
+ svn del http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/tags/ironman \
+ -m "Removing ironman for release of ironboy"
+ svn cp http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/tags/ironboy
+ http://dev.catalyst.perl.org/repos/bast/ironman/IronMan-Web/tags/ironman \
+ -m "Releasing ironboy to ironman"
+
+=cut
Deleted: ironman/IronMan-Web/tags/ironboy/ironman_web.conf
===================================================================
--- ironman/IronMan-Web/tags/IronMan-Web-0.02/ironman_web.conf 2011-07-05 10:26:10 UTC (rev 9893)
+++ ironman/IronMan-Web/tags/ironboy/ironman_web.conf 2011-07-05 10:26:18 UTC (rev 9895)
@@ -1,19 +0,0 @@
-name IronMan::Web
-frontpage_entries 20
-<branding>
- page_title "Planet Perl Iron Man"
- banner "<h1 class='title'>enlightened perl organisation</h1><p class='dict'><strong>enlightened</strong> |en'litnd|: <em>adjective</em>:<br />having or showing a rational, modern, and well-informed outlook</p>"
- page_header "Planet Perl Iron Man"
- page_footer "Planet Perl Iron Man"
-</branding>
-default_view TT
-<View::Email>
- stash_key email
- <default>
- content_type text/plain
- charset utf-8
- </default>
- <sender>
- mailer Sendmail
- </sender>
-</View::Email>
Copied: ironman/IronMan-Web/tags/ironboy/ironman_web.conf (from rev 9884, ironman/IronMan-Web/tags/IronMan-Web-0.02/ironman_web.conf)
===================================================================
--- ironman/IronMan-Web/tags/ironboy/ironman_web.conf (rev 0)
+++ ironman/IronMan-Web/tags/ironboy/ironman_web.conf 2011-07-05 10:26:18 UTC (rev 9895)
@@ -0,0 +1,19 @@
+name IronMan::Web
+frontpage_entries 20
+<branding>
+ page_title "Planet Perl Iron Man"
+ banner "<h1 class='title'>enlightened perl organisation</h1><p class='dict'><strong>enlightened</strong> |en'litnd|: <em>adjective</em>:<br />having or showing a rational, modern, and well-informed outlook</p>"
+ page_header "Planet Perl Iron Man"
+ page_footer "Planet Perl Iron Man"
+</branding>
+default_view TT
+<View::Email>
+ stash_key email
+ <default>
+ content_type text/plain
+ charset utf-8
+ </default>
+ <sender>
+ mailer Sendmail
+ </sender>
+</View::Email>
Deleted: ironman/IronMan-Web/tags/ironboy/ironman_web_ironboy.conf
===================================================================
--- ironman/IronMan-Web/tags/IronMan-Web-0.02/ironman_web_ironboy.conf 2011-07-05 10:26:10 UTC (rev 9893)
+++ ironman/IronMan-Web/tags/ironboy/ironman_web_ironboy.conf 2011-07-05 10:26:18 UTC (rev 9895)
@@ -1,10 +0,0 @@
-<recaptcha>
-## share ironman "global" key
- priv_key 6LdtfQwAAAAAAHPUBd4M0YquNYsAqjARPPO1jEXn
- pub_key 6LdtfQwAAAAAANfQgaj4u9dACa8-mr6J18HCXWhf
-</recaptcha>
-<Model::FeedDB>
- <connect_info>
- dsn dbi:SQLite:/var/www/ironboy.enlightenedperl.org/ironman/subscriptions.db
- </connect_info>
-</Model::FeedDB>
Copied: ironman/IronMan-Web/tags/ironboy/ironman_web_ironboy.conf (from rev 9884, ironman/IronMan-Web/tags/IronMan-Web-0.02/ironman_web_ironboy.conf)
===================================================================
--- ironman/IronMan-Web/tags/ironboy/ironman_web_ironboy.conf (rev 0)
+++ ironman/IronMan-Web/tags/ironboy/ironman_web_ironboy.conf 2011-07-05 10:26:18 UTC (rev 9895)
@@ -0,0 +1,10 @@
+<recaptcha>
+## share ironman "global" key
+ priv_key 6LdtfQwAAAAAAHPUBd4M0YquNYsAqjARPPO1jEXn
+ pub_key 6LdtfQwAAAAAANfQgaj4u9dACa8-mr6J18HCXWhf
+</recaptcha>
+<Model::FeedDB>
+ <connect_info>
+ dsn dbi:SQLite:/var/www/ironboy.enlightenedperl.org/ironman/subscriptions.db
+ </connect_info>
+</Model::FeedDB>
Deleted: ironman/IronMan-Web/tags/ironboy/ironman_web_ironman.conf
===================================================================
--- ironman/IronMan-Web/tags/IronMan-Web-0.02/ironman_web_ironman.conf 2011-07-05 10:26:10 UTC (rev 9893)
+++ ironman/IronMan-Web/tags/ironboy/ironman_web_ironman.conf 2011-07-05 10:26:18 UTC (rev 9895)
@@ -1,10 +0,0 @@
-<recaptcha>
-## ironman keys
- priv_key 6Le7UQwAAAAAAFYPa1kYrjElL4IBEoACORjghDk5
- pub_key 6Le7UQwAAAAAAMi84pCrncgnp0lYHEVZmB7h7yI6
-</recaptcha>
-<Model::FeedDB>
- <connect_info>
- dsn dbi:SQLite:/var/www/ironman.enlightenedperl.org/ironman/subscriptions.db
- </connect_info>
-</Model::FeedDB>
Copied: ironman/IronMan-Web/tags/ironboy/ironman_web_ironman.conf (from rev 9884, ironman/IronMan-Web/tags/IronMan-Web-0.02/ironman_web_ironman.conf)
===================================================================
--- ironman/IronMan-Web/tags/ironboy/ironman_web_ironman.conf (rev 0)
+++ ironman/IronMan-Web/tags/ironboy/ironman_web_ironman.conf 2011-07-05 10:26:18 UTC (rev 9895)
@@ -0,0 +1,10 @@
+<recaptcha>
+## ironman keys
+ priv_key 6Le7UQwAAAAAAFYPa1kYrjElL4IBEoACORjghDk5
+ pub_key 6Le7UQwAAAAAAMi84pCrncgnp0lYHEVZmB7h7yI6
+</recaptcha>
+<Model::FeedDB>
+ <connect_info>
+ dsn dbi:SQLite:/var/www/ironman.enlightenedperl.org/ironman/subscriptions.db
+ </connect_info>
+</Model::FeedDB>
Deleted: ironman/IronMan-Web/tags/ironboy/ironman_web_localhost.conf
===================================================================
--- ironman/IronMan-Web/tags/IronMan-Web-0.02/ironman_web_localhost.conf 2011-07-05 10:26:10 UTC (rev 9893)
+++ ironman/IronMan-Web/tags/ironboy/ironman_web_localhost.conf 2011-07-05 10:26:18 UTC (rev 9895)
@@ -1,10 +0,0 @@
-<recaptcha>
-## localhost keys
- priv_key 6LcsbAAAAAAAANQQGqwsnkrTd7QTGRBKQQZwBH-L
- pub_key 6LcsbAAAAAAAAPDSlBaVGXjMo1kJHwUiHzO2TDze
-</recaptcha>
-<Model::FeedDB>
- <connect_info>
- dsn dbi:SQLite:/home/castaway/plagger/subscriptions.db
- </connect_info>
-</Model::FeedDB>
Copied: ironman/IronMan-Web/tags/ironboy/ironman_web_localhost.conf (from rev 9884, ironman/IronMan-Web/tags/IronMan-Web-0.02/ironman_web_localhost.conf)
===================================================================
--- ironman/IronMan-Web/tags/ironboy/ironman_web_localhost.conf (rev 0)
+++ ironman/IronMan-Web/tags/ironboy/ironman_web_localhost.conf 2011-07-05 10:26:18 UTC (rev 9895)
@@ -0,0 +1,10 @@
+<recaptcha>
+## localhost keys
+ priv_key 6LcsbAAAAAAAANQQGqwsnkrTd7QTGRBKQQZwBH-L
+ pub_key 6LcsbAAAAAAAAPDSlBaVGXjMo1kJHwUiHzO2TDze
+</recaptcha>
+<Model::FeedDB>
+ <connect_info>
+ dsn dbi:SQLite:/home/castaway/plagger/subscriptions.db
+ </connect_info>
+</Model::FeedDB>
Deleted: ironman/IronMan-Web/tags/ironboy/lib/IronMan/Web/Controller/Root.pm
===================================================================
--- ironman/IronMan-Web/tags/IronMan-Web-0.02/lib/IronMan/Web/Controller/Root.pm 2011-07-05 09:54:29 UTC (rev 9884)
+++ ironman/IronMan-Web/tags/ironboy/lib/IronMan/Web/Controller/Root.pm 2011-07-05 10:26:18 UTC (rev 9895)
@@ -1,275 +0,0 @@
-package IronMan::Web::Controller::Root;
-use strict;
-use warnings;
-use Data::UUID;
-use IronMan::Feeds;
-use Email::Valid;
-use DateTime;
-use XML::OPML;
-use Try::Tiny;
-use base 'Catalyst::Controller::reCAPTCHA';
-
-#
-# Sets the actions in this controller to be registered with no prefix
-# so they function identically to actions created in MyApp.pm
-#
-__PACKAGE__->config->{namespace} = '';
-
-=head1 NAME
-
-IronMan::Web::Controller::Root - Root Controller for IronMan::Web
-
-=head1 DESCRIPTION
-
-[enter your description here]
-
-=head1 METHODS
-
-=cut
-
-=head2 auto
-
-=cut
-
-sub auto : Private {
- my ( $self, $c ) = @_;
-
- $c->stash->{'feeds'} =
- $c->model('FeedDB::Feed')->search( { 'link' => \'IS NOT NULL' } );
- $c->stash->{'branding'} = $c->config()->{'branding'};
-}
-
-=head2 index
-
-=cut
-
-sub index : Path : Args(0) {
- my ( $self, $c ) = @_;
-
- my $posts = $c->model('FeedDB::Post')->search(
- {},
- {
- 'order_by' => \'posted_on DESC',
- 'rows' => $c->config->{'frontpage_entries'} + 1,
- }
- );
-
- $c->stash( 'posts' => $posts );
-
- my $next_post = ( $posts->all )[-1];
-
- my $next_post_date = $next_post->posted_on;
- my $next_post_url = $c->uri_for_action(
- 'archive/day', $next_post_date->year,
- $next_post_date->month, $next_post_date->day
- )
- . '#'
- . $next_post->post_id;
- $c->stash( 'older_url' => $next_post_url );
-}
-
-=head2 new_feed
-
-=cut
-
-sub new_feed : Local {
- my ( $self, $c ) = @_;
-
- my $url = $c->req->param('url');
- my $email = $c->req->param('email');
- my $email_conf = $c->req->param('email_2');
- my $title = $c->req->param('title');
-
- $c->stash( params => $c->req->params );
- $c->forward('captcha_get');
-
- return 1 if ( !%{ $c->req->params } );
-
- my $errors = [];
- my $feed =
- IronMan::Feeds::verify_feed_data( $title, $url, $email, $email_conf,
- $errors );
- if ( !$feed || @$errors ) {
- $c->log->_dump($errors);
- $c->stash( errors => $errors );
- return 1;
- }
- if ( !$c->forward('captcha_check') ) {
- $c->log->_dump( $c->stash->{recaptcha_error} );
- $c->stash( errors => ['reCAPTCHA failed'] );
- return 1;
- }
-
- $c->log->debug("input ok");
-
- ## verify_feed_data attempts to find the first feed in the given page, if it is not a feed
- $url = $feed->{feed};
- $c->stash( feed_url => $url );
-
- my ( $res, $fdb ) = $c->model('FeedDB::Feed')->add_new_blog(
- title => $title,
- url => $url,
- email => $email
- );
-
- if ( !$res ) {
- $c->stash( existed => 1 );
- $c->log->debug( "$url already exists, id: " . $fdb->id );
- return 1;
- }
-
- $c->stash( inserted => $fdb->id );
-}
-
-#Display OPML showing the feeds.
-sub opml : Local Args(0) {
- my ( $self, $c ) = @_;
-
- my $opml = new XML::OPML( version => "1.1" );
-
- $opml->head(
- title => 'all.things.per.ly',
- dateCreated => DateTime->now(),
- );
-
- $c->res->content_type('application/xml');
-
- foreach my $feed ( $c->model('FeedDB::Feed')->all ) {
- $opml->add_outline(
- 'title' => $feed->title,
- 'xmlUrl' => $feed->url,
- );
- }
-
- $c->res->body( $opml->as_string );
-}
-
-=head2 update_feed
-
-Update a feed give a user's unique key
-
-=cut
-
-sub update_feed : Local Args(0) {
- my ( $self, $c ) = @_;
- if ( $c->req->param ) {
- if ( $c->req->param('url')
- && $c->req->param('email')
- && $c->req->param('id') )
- {
-
- my $feed = $c->model('FeedDB::Feed')->find(
- {
- id => $c->req->param('id'),
- email => $c->req->param('email')
- }
- );
-
- if ( defined $feed ) {
-
- $feed->update( { url => $c->req->param('url') } )
- or die "Error: $!";
- $c->stash( updated => 1 );
-
- } else {
-
- $c->stash( error => "No such user" );
-
- }
-
- } else {
- $c->stash( error => "All fields required." );
- }
- }
-}
-
-=head2 retrieve_key
-
-Retrieve a user's unique key by email
-
-=cut
-
-sub retrieve_key : Local Args(0) {
- my ( $self, $c ) = @_;
- my $email = $c->req->param('email');
- if ( $c->req->param ) {
- if ($email) {
- my $feed;
- ## don't notify whether email address was found,
- ## brute force could theoretically give a list of valid emails
- ## contained here.
- try {
- $feed = $c->model('FeedDB::Feed')->find( { owner => $email } );
- $c->log->info( 'found key: ' . $feed->id );
- $c->stash(
- email => {
- to => $email,
- from => 'me at dhoss.net',
- subject => 'Your IronMan Blog Key',
- body => qq{
- Hello } . $feed->owner . qq{,
- You or someone else has requested your IronMan Blog key.
- Here it is: } . $feed->id . qq{
- Regards,
- The IronMan Blogging Tech Monkies
- },
- },
- );
-
- $c->forward( $c->view('Email') );
-
- if ( scalar( @{ $c->error } ) ) {
-
- $c->stash( error => $c->error );
-
- }
-
- }
- finally {
- if (@_) {
- $c->log->error( "Original error: @_" );
- $c->log->error( 'email ' . $email . ' not found' );
- }
- $c->stash(
- sent => 1,
- to => $email
- );
-
- };
-
- } else {
-
- $c->stash( error => "No email specified" );
-
- }
- }
-}
-
-=head2 end
-
-Attempt to render a view, if needed.
-
-=cut
-
-sub end : ActionClass('RenderView') {
- my ( $self, $c ) = @_;
-
- $c->stash( current_view => 'RSS' )
- if ( ( $c->req->param('feed') && $c->req->param('feed') eq 'rss' )
- || ( $c->req->param('feed') && $c->req->param('feed') eq 'RSS' )
- || ( $c->req->param('feed') && $c->req->param('feed') eq 'atom' ) );
-
-}
-
-=head1 AUTHOR
-
-Catalyst developer
-
-=head1 LICENSE
-
-This library is free software, you can redistribute it and/or modify
-it under the same terms as Perl itself.
-
-=cut
-
-1;
Copied: ironman/IronMan-Web/tags/ironboy/lib/IronMan/Web/Controller/Root.pm (from rev 9885, ironman/IronMan-Web/tags/IronMan-Web-0.02/lib/IronMan/Web/Controller/Root.pm)
===================================================================
--- ironman/IronMan-Web/tags/ironboy/lib/IronMan/Web/Controller/Root.pm (rev 0)
+++ ironman/IronMan-Web/tags/ironboy/lib/IronMan/Web/Controller/Root.pm 2011-07-05 10:26:18 UTC (rev 9895)
@@ -0,0 +1,255 @@
+package IronMan::Web::Controller::Root;
+
+use strict;
+use warnings;
+use Data::UUID;
+use IronMan::Feeds;
+use Email::Valid;
+use DateTime;
+use XML::OPML;
+use Try::Tiny;
+use base 'Catalyst::Controller::reCAPTCHA';
+
+#
+# Sets the actions in this controller to be registered with no prefix
+# so they function identically to actions created in MyApp.pm
+#
+__PACKAGE__->config->{namespace} = '';
+
+=head1 NAME
+
+IronMan::Web::Controller::Root - Root Controller for IronMan::Web
+
+=head1 DESCRIPTION
+
+[enter your description here]
+
+=head1 METHODS
+
+=cut
+
+=head2 auto
+
+=cut
+
+sub auto : Private {
+ my ( $self, $c ) = @_;
+
+ $c->stash->{'feeds'} = $c->model('FeedDB::Feed')->search({ 'link' => \'IS NOT NULL'});
+ $c->stash->{'branding'} = $c->config()->{'branding'};
+}
+
+=head2 index
+
+=cut
+
+sub index :Path :Args(0) {
+ my ( $self, $c ) = @_;
+
+ my $posts = $c->model('FeedDB::Post')->search({},{
+ 'order_by' => \'posted_on DESC',
+ 'rows' => $c->config->{'frontpage_entries'} + 1,
+ });
+
+ $c->stash( 'posts' => $posts );
+
+ my $next_post = ($posts->all)[-1];
+
+ my $next_post_date = $next_post->posted_on;
+ my $next_post_url = $c->uri_for_action('archive/day', $next_post_date->year, $next_post_date->month, $next_post_date->day ). '#' . $next_post->post_id;
+ $c->stash( 'older_url' => $next_post_url );
+}
+
+=head2 new_feed
+
+=cut
+
+sub new_feed : Local {
+ my ($self, $c) = @_;
+
+ my $url = $c->req->param('url');
+ my $email = $c->req->param('email');
+ my $email_conf = $c->req->param('email_2');
+ my $title = $c->req->param('title');
+
+ $c->stash(params => $c->req->params);
+ $c->forward('captcha_get');
+
+ return 1 if(!%{ $c->req->params });
+
+ my $errors = [];
+ my $feed = IronMan::Feeds::verify_feed_data($title, $url, $email, $email_conf, $errors);
+ if(!$feed || @$errors) {
+ $c->log->_dump($errors);
+ $c->stash( errors => $errors);
+ return 1;
+ }
+ if(!$c->forward('captcha_check')) {
+ $c->log->_dump($c->stash->{recaptcha_error});
+ $c->stash( errors => ['reCAPTCHA failed']);
+ return 1;
+ }
+
+ $c->log->debug("input ok");
+
+ ## verify_feed_data attempts to find the first feed in the given page, if it is not a feed
+ $url = $feed->{feed};
+ $c->stash(feed_url => $url);
+
+ my ($res, $fdb) = $c->model('FeedDB::Feed')->add_new_blog(title => $title,
+ url => $url,
+ email => $email);
+
+ if(!$res) {
+ $c->stash(existed => 1);
+ $c->log->debug("$url already exists, id: " . $fdb->id);
+ return 1;
+ }
+
+ $c->stash(inserted => $fdb->id);
+}
+
+#Display OPML showing the feeds.
+sub opml : Local Args(0) {
+ my ( $self, $c ) = @_;
+
+ my $opml = new XML::OPML(version => "1.1");
+
+ $opml->head(
+ title => 'all.things.per.ly',
+ dateCreated => DateTime->now(),
+ );
+
+ $c->res->content_type('application/xml');
+
+ foreach my $feed ($c->model('FeedDB::Feed')->all) {
+ $opml->add_outline(
+ 'title' => $feed->title,
+ 'xmlUrl' => $feed->url,
+ );
+ }
+
+ $c->res->body($opml->as_string);
+}
+
+=head2 update_feed
+
+Update a feed give a user's unique key
+
+=cut
+
+sub update_feed :Local Args(0) {
+ my ( $self, $c ) = @_;
+ if ( $c->req->param ) {
+ if ( $c->req->param('url') &&
+ $c->req->param('email') &&
+ $c->req->param('id') ) {
+
+ my $feed = $c->model('FeedDB::Feed')->find({
+ 'id' => $c->req->param('id'),
+ 'email' => $c->req->param('email')});
+
+ if ( defined $feed ) {
+ $feed->update( { url => $c->req->param('url') } ) or die "Error: $!";
+ $c->stash( updated => 1 );
+ }
+
+ else {
+ $c->stash( error => "No such user" );
+ }
+ }
+
+ else {
+ $c->stash( error => "All fields required." );
+ }
+ }
+}
+
+=head2 retrieve_key
+
+Retrieve a user's unique key by email
+
+=cut
+
+sub retrieve_key : Local Args(0) {
+ my ( $self, $c ) = @_;
+ my $email = $c->req->param('email');
+
+ if ( $c->req->param ) {
+ if ($email) {
+ my $feed;
+
+ ## don't notify whether email address was found,
+ ## brute force could theoretically give a list of valid emails
+ ## contained here.
+
+ try {
+ $feed = $c->model('FeedDB::Feed')->find( { owner => $email } );
+ $c->log->info( 'found key: ' . $feed->id );
+ $c->stash(
+ email => {
+ to => $email,
+ from => 'me at dhoss.net',
+ subject => 'Your IronMan Blog Key',
+ body => qq{ Hello } . $feed->owner . qq{,
+ You or someone else has requested your IronMan Blog key.
+ Here it is: } . $feed->id . qq{
+ Regards,
+ The IronMan Blogging Tech Monkies
+ },
+ },
+ );
+
+ $c->forward( $c->view('Email') );
+
+ if ( scalar( @{ $c->error } ) ) {
+ $c->stash( error => $c->error );
+ }
+ } # End of try block
+
+ finally {
+ if (@_) {
+ $c->log->error( "Original error: @_" );
+ $c->log->error( 'email ' . $email . ' not found' );
+ }
+
+ $c->stash( sent => 1,
+ to => $email
+ );
+ }; # End of finally block
+ } # End of if($email)
+
+ else {
+ $c->stash( error => "No email specified" );
+ }
+ }
+}
+
+=head2 end
+
+Attempt to render a view, if needed.
+
+=cut
+
+sub end : ActionClass('RenderView') {
+ my ( $self, $c ) = @_;
+
+ $c->stash(current_view => 'RSS') if (
+ ($c->req->param('feed') && $c->req->param('feed') eq 'rss') ||
+ ($c->req->param('feed') && $c->req->param('feed') eq 'RSS') ||
+ ($c->req->param('feed') && $c->req->param('feed') eq 'atom')
+ );
+}
+
+=head1 AUTHOR
+
+Catalyst developer
+
+=head1 LICENSE
+
+This library is free software, you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
+1;
Deleted: ironman/IronMan-Web/tags/ironboy/root/inc/ironman_header.tt
===================================================================
--- ironman/IronMan-Web/tags/IronMan-Web-0.02/root/inc/ironman_header.tt 2011-07-05 09:54:29 UTC (rev 9884)
+++ ironman/IronMan-Web/tags/ironboy/root/inc/ironman_header.tt 2011-07-05 10:26:18 UTC (rev 9895)
@@ -1,14 +0,0 @@
- <div class='header'>
- <p>
- <a href="/new_feed"><img src="http://enlightenedperl.org/images/ironsignup.png" alt="signup banner" /></a><br />
- <a href="/new_feed">Join the program</a> |
- <a href="http://www.enlightenedperl.org/ironman.html">Learn about the program</a> |
- <a href="/update_feed">update your feed URL (current users)</a> |
- <a href="mailto:ironman at shadowcat.co.uk">Report a problem</a>
- </p>
- <p>
- Only showing posts tagged <span style="color: #2c5aa0; font-weight: bold;">"perl"</span>, <span style="color: #2c5aa0; font-weight: bold;">"cpan"</span>
- or <span style="color: #2c5aa0; font-weight: bold;">"ironman"</span> (or containing those words).
- </p>
-[% INCLUDE 'inc/next_prev.tt' %]
- </div>
Copied: ironman/IronMan-Web/tags/ironboy/root/inc/ironman_header.tt (from rev 9885, ironman/IronMan-Web/tags/IronMan-Web-0.02/root/inc/ironman_header.tt)
===================================================================
--- ironman/IronMan-Web/tags/ironboy/root/inc/ironman_header.tt (rev 0)
+++ ironman/IronMan-Web/tags/ironboy/root/inc/ironman_header.tt 2011-07-05 10:26:18 UTC (rev 9895)
@@ -0,0 +1,14 @@
+ <div class='header'>
+ <p>
+ <a href="/new_feed"><img src="http://enlightenedperl.org/images/ironsignup.png" alt="signup banner" /></a><br />
+ <a href="/new_feed">Join</a> |
+ <a href="http://www.enlightenedperl.org/ironman.html">About</a> |
+ <a href="/update_feed">Update your blog feed</a> |
+ <a href="mailto:ironman at shadowcat.co.uk">Report a problem</a>
+ </p>
+ <p>
+ Only showing posts tagged <span style="color: #2c5aa0; font-weight: bold;">"perl"</span>, <span style="color: #2c5aa0; font-weight: bold;">"cpan"</span>
+ or <span style="color: #2c5aa0; font-weight: bold;">"ironman"</span> (or containing those words).
+ </p>
+[% INCLUDE 'inc/next_prev.tt' %]
+ </div>
Deleted: ironman/IronMan-Web/tags/ironboy/root/new_feed.tt
===================================================================
--- ironman/IronMan-Web/tags/IronMan-Web-0.02/root/new_feed.tt 2011-07-05 09:54:29 UTC (rev 9884)
+++ ironman/IronMan-Web/tags/ironboy/root/new_feed.tt 2011-07-05 10:26:18 UTC (rev 9895)
@@ -1,23 +0,0 @@
- <div id='main'>
- [% IF existed %]
- <p class="error">
- [% params.url %] is already signed up.
- </p>
- [% END %]
- [% IF inserted %]
- <p>
- [% feed_url %] is now signed up to <a href="ironman.enlightenedperl.org">Ironman</a>. Please wait an hour for the first data fetch.
- </p>
- [% END %]
- [% FOREACH error = errors %]
- <p class="error" style="color:red" >[% error %]</p>
- [% END %]
- <hr/>
- <form method="post" action="[% c.uri_for('/new_feed') %]">
- <label>Blog feed URL (atom preferred)<input type="text" name="url" value="[% params.url %]"></label><br>
- <label>Your Name ("Firstname Lastname (nick)" prefered)<input type="text" name="title" value="[% params.title %]"></label><br>
- <label>Email <input type="text" name="email" value="[% params.email %]"></label><br>
- <label>Email (confirmation)<input type="text" name="email_2"></label><br>
- [% recaptcha %]
- <input type="submit" value="Sign up">
- </form>
Copied: ironman/IronMan-Web/tags/ironboy/root/new_feed.tt (from rev 9893, ironman/IronMan-Web/tags/IronMan-Web-0.02/root/new_feed.tt)
===================================================================
--- ironman/IronMan-Web/tags/ironboy/root/new_feed.tt (rev 0)
+++ ironman/IronMan-Web/tags/ironboy/root/new_feed.tt 2011-07-05 10:26:18 UTC (rev 9895)
@@ -0,0 +1,22 @@
+ [% IF existed %]
+ <p class="error">
+ [% params.url %] is already signed up.
+ </p>
+ [% END %]
+ [% IF inserted %]
+ <p>
+ [% feed_url %] is now signed up to <a href="ironman.enlightenedperl.org">Ironman</a>. Please wait an hour for the first data fetch.
+ </p>
+ [% END %]
+ [% FOREACH error = errors %]
+ <p class="error" style="color:red" >[% error %]</p>
+ [% END %]
+
+ <form method="post" action="[% c.uri_for('/new_feed') %]">
+ <label>Blog feed URL (atom preferred)<input type="text" name="url" value="[% params.url %]"></label><br>
+ <label>Your Name ("Firstname Lastname (nick)" prefered)<input type="text" name="title" value="[% params.title %]"></label><br>
+ <label>Email <input type="text" name="email" value="[% params.email %]"></label><br>
+ <label>Email (confirmation)<input type="text" name="email_2"></label><br>
+ [% recaptcha %]
+ <input type="submit" value="Sign up">
+ </form>
Deleted: ironman/IronMan-Web/tags/ironboy/todo.pod
===================================================================
--- ironman/IronMan-Web/tags/IronMan-Web-0.02/todo.pod 2011-07-05 10:26:10 UTC (rev 9893)
+++ ironman/IronMan-Web/tags/ironboy/todo.pod 2011-07-05 10:26:18 UTC (rev 9895)
@@ -1,216 +0,0 @@
-=head1 IronMan-Web release issues.
-
-Remaining issues for live deployment on 14th of April 2010.
-
-=head2 Page banner. - DONE - IDN
-
-The banner as follows:
-
- Are you flesh? Or are you Iron?
- Take the challenge
- http://ironman.enlightenedperl.org/signup/new_feed
-
-Missing from the top of the page
-
-=head2 Paging.
-
-The detail between the banner detailed above and the very first feed post:
-
- Join the program | Learn about the program | Report a problem
-
- Only showing posts tagged "perl", "cpan" or "ironman" (or containing those words).
- Last updated: 21:25:27 13-Apr-2010 First Previous 1 2 3 4 5 Next Last
-
-The above is missing at the top of the page, though the Older and Newer posts
-links are shown at the bottom of the page.
-
-=head2 Captcha on signup form.
-
-Castaway has added a recaptcha to the signup form on the existing
-site. This needs back porting to the dev site.
-
-=head2 Branding.
-
-These are minor issues that are inconsistent with the existing UI.
-Whilst we need to fix these up, we also need provision to have the
-all.things.per.ly branding restored in the future. Please bear
-this in mind when making the changes such that this can be achieved
-simply.
-
-Page title should be "Planet Perl Iron Man"
-
-The epo banner at the top should read:
-
- enlightened perl organisation
- enlightened |en'litnd|: adjective:
- having or showing a rational, modern, and well-informed outlook
-
-Header in the yellow bar at the top of the page should similarly be:
-
- Planet Perl Iron Man
-
-Footer should be:
-
- Perl Iron Man Planet
-
-or:
-
- Planet Perl Iron Man
-
-The second would be more consistent, though the former is the existing text.
-
-=head2 Images.
-
-For some reason images are being removed from posts. No idea why this might be
-but it's a degredation to existing functionality if we can't figure it out.
-
-=head2 Article headers.
-
-Tags and such are missing from the article headers.
-
-I'm sure this has been fixed in the data move once, but I don't recall how :(
-
-=head1 IronMan-Web feature requests.
-
-=head2 OPML file link.
-
-The existing site shows a link to download the OPML file.
-
-We need something here to download a similar SQLite file with the email addresses removed.
-
-=head2 Spam handling.
-
-The existing site has many spam handling issues. There's lots of crap in the
-database.
-
-We need:
-
-=over
-
-=item * Tools to remove the existing crap from the database.
-
-=item * Support included into Perlanet-IronMan to try and limit the amount that then re-appears.
-
-A number of people have suggested that using Spam Assassin might be a starting
-point for scanning existing content and possibly new content.
-
-=item * We need a quick and simple way to remove spam feeds once they're identified.
-
-This should probably be by feed or post URL.
-
-From IRC discussion:
-
- 12:55 < mst> for the live one it's easy
- 12:55 < mst> just cp the sqlite db first
- 12:55 < castaway> on ironman I always do: login, cd plagger, cp subscriptions.db scubscriptions_pewdespam.db; sqlite3 subscriptions.db
- 12:56 < castaway> any mess, re copy and start again ;)
- 12:56 < castaway> backups++
-
-=item * A name should not appear on the index page until at least one post has been made.
-
-=back
-
-Note from robinsmidsrod in #epo-ironman:
-
- 12:20 < robinsmidsrod> idn: I just wanted to suggest to you to use the http_bl support from https://www.projecthoneypot.org to reduce spam entering the ironman database - I've
- successfully used it on my blog - now I barely have spam entering my blog, and I don't have a captcha installed
- 12:21 < robinsmidsrod> I used the mod_httpbl apache implementation from https://www.projecthoneypot.org/httpbl_implementations.php
- 12:21 < idn> robinsmidsrod: Thanks for the suggestion, I'll stick it in the todo list for investigation.
- 12:23 < robinsmidsrod> sorry, my bad, I didn't use the mod_httpbl module - I actually used a b2evolution plugin - but projecthoneypot has a simple DNS-based API, so it shouldn't be to
- hard to make a perl module to handle it
- 12:23 < robinsmidsrod> it works just as any other DNS-based blacklist
- 12:24 < robinsmidsrod> but the cool thing is that you can actually choose the threshold level for when you will block users
-
-Discussion followed:
-
- 12:24 < idn> That's an interesting idea that I hadn't thought of.
- 12:25 < idn> How would you look to implement it, at collection time or at signup time?
- 12:25 < robinsmidsrod> actually, if you run your own DNS server (and http server) I would suggest to support the project - it is an awesome project (I've been a member for a bit over a
- year)
- 12:25 < robinsmidsrod> the new site is dynamic, right?
- 12:25 < idn> Yes
- 12:26 < idn> Hmm, I'd love to support the project, but my employer isn't very community minded or responsible in that respect.
- 12:26 < robinsmidsrod> so just look up REMOTE_IP, do a lookup against projecthoneypot BL (via DNS) and check the response - if it shows something that looks bad, just block or redirect
- the user to a page that explains the problem, or enable captcha
- 12:26 < robinsmidsrod> idn: well, I support it with my private stuff
- 12:27 < robinsmidsrod> anyone can donate a spare MX pointer ;)
- 12:27 < robinsmidsrod> for some hostname you would probably never use
- 12:27 < idn> Ah, I'm with you.
- 12:28 < robinsmidsrod> mine is XXXmailserver.smidsrod.no which points to a honeypot
- 12:29 < idn> So all I need is some domains rather than any actual kit ;) All of mine are on 123reg which neatly solves that problem.
- 12:30 < robinsmidsrod> me alone have helped catching approx. 20 harvesters and spammers in the last year
- 12:30 < robinsmidsrod> which is nice to know :)
- 12:31 < robinsmidsrod> you can support them by donating an MX entry in your DNS, setting up a "hidden" link on your own websites linking to a honeypot, or you can setup an actual
- honeypot - I've only done the two first
- 12:32 < idn> That seems like a good idea, I'll put it forward to the boss too and see if we can't do something here at work.
- 12:32 < robinsmidsrod> what I do in my blog is that if the remote_ip looks suspicies I redirect the user to my honeypot page, which means that those IPs that are already somewhat fishy
- will be redirected to something that will make them more fishy if they harvest it :)
- 12:33 < idn> I had been contemplating using spam assassin to scan content too
- 12:34 < robinsmidsrod> idn: this is my honeypot page: http://minmailserver.smidsrod.no/
- 12:34 < robinsmidsrod> if you look at the HTML content you'll see that there are some hidden links that harvesters will catch
- 12:35 < idn> There are a couple of problems to address, one is the existing bad feeds (most of which don't appear because they don't use the right keywords) and secondly preventing new
- bad feeds.
- 12:36 < idn> The former is more of a problem due to the way in which the list of signed up users appears on the front page.
- 12:36 < robinsmidsrod> honeypot will only help with the new bad feeds
- 12:36 < idn> Possibly, the site hosting the spam might well be listed
- 12:37 * mst still thinks "only appears in the right bar if they've got at least one post" would be a start
- 12:37 < robinsmidsrod> if you have any IP-adresses linked with existing content you could of course manually run it throuh their BL and see what you find
- 12:37 < robinsmidsrod> mst: I agree with that one
- 12:37 < mst> actual spam posts will get nailed pretty quickly, I think
- 12:37 < idn> mst: Yes, that's what's in the todo I think
- 12:38 < robinsmidsrod> a "report spam" feature is available?
- 12:38 < castaway> robinsmidsrod: no but that'd be handy, care to write one?
- 12:38 < idn> I've thought about that and I've mixed opinions. It seems like it could be open to abuse and or create work for someone to deal with.
- 12:38 < castaway> idn: we run a website, its gonna create work ;
- 12:38 < castaway> ;)
- 12:39 < idn> Yes. But I like to try my best to minimise that ;)
- 12:39 < robinsmidsrod> castaway: I don't have any time available, 200% workload with work + full time studies, but I can explain how it could be created to mitigate moderator
- intervention.
- 12:40 < idn> I was contemplating some kind of scoring system that would blacklist a feed once so many reports have been received from different requesting hosts, but it's still a
- little open to abuse. Coupled with administrative notification and oversight to re-enable if needed.
- 12:40 < robinsmidsrod> castaway: create a form (POST) with a "Report spam" button so that behaving robots won't access it. When enough people have clicked that button the article will
- be blacklisted until a moderator actually clears it from blacklist
- 12:40 < castaway> idn: like, say, bayes? ;)
- 12:41 < robinsmidsrod> idn: exactly the same as I thought
- 12:41 < castaway> robinsmidsrod: makes sense.. (user moderation, yay)
- 12:41 < robinsmidsrod> that way either the author needs to complain to a moderator that his post doesn't show up
- 12:41 < idn> castaway: Erm, not quite, though my understanding of things statistical could be written on the back of a very small pin head....
- 12:41 < robinsmidsrod> because it got blacklisted
- 12:42 < idn> That wouldn't work in that each and every time the feed generated a spam, it would need to be black listed. Though I like where you're going.
- 12:42 < robinsmidsrod> mst: do you have a suggestion on how to calculate how many reports should cause blacklisting to be triggered?
- 12:42 < idn> Blacklist the individual post with some kind of hysteresis, then blacklist the feed once enough posts have been blacklisted.
- 12:42 < mst> idn: er, what?
- 12:43 < mst> why would you have to regen?
- 12:43 < robinsmidsrod> idn: or enable reporting spam on both posts and feeds
- 12:43 < mst> oh, each time. yes.
- 12:43 < mst> idn: that's simple.
- 12:43 < mst> two blacklists and the feed goes.
- 12:43 < idn> There we go then :)
- 12:44 < robinsmidsrod> I'd suggest to put the feed in a quarantine so that it is easy for a moderator to un-blacklist feeds - and once a feed has been un-blacklisted you would increase
- the blacklist threshold
- 12:45 < robinsmidsrod> sometimes member blogs get hijacked and start generating spam, but I guess that problem is much smaller than spammer blogs in general
- 12:46 < idn> I wouldn't remove the feed, they could just sign it up again. I'd opt for blacklisting it and never collecting it again
- 12:47 < robinsmidsrod> if the feed has been in the blacklist for , let's say a month or two, it will be automatically purged from the database
- 12:47 < robinsmidsrod> what you said makes more sense yes :)
- 12:47 < robinsmidsrod> and if they try to signup again you redirect them to a projecthoneypot page :)
- 12:49 < robinsmidsrod> just make sure the report spam button is a form/post button, not a link, or else you'll gather report spam-reports en masse when misbehaving robots come in
- 12:51 < idn> Hmm, that's a good place to use the honeypot stuff too.
- 12:52 < robinsmidsrod> catch the spammers/harvesters by their own bad behaviour :)
-
-
-=head2 standards compliance
-
-=head3 Atom feed validation
-
-L<http://feedvalidator.org/check.cgi?url=http://ironman.enlightenedperl.org/atom.xml>
-
-I'm told this involves fixing L<XML::Feed>.
-
-=head2 Gravatar support?
-
-12:12 < poisonbit> gravatar support could be funny
-12:13 < idn> poisonbit: Cool. I like. I'll add it to the wishlist.
-
-http://en.gravatar.com/
-
-=cut
Copied: ironman/IronMan-Web/tags/ironboy/todo.pod (from rev 9884, ironman/IronMan-Web/tags/IronMan-Web-0.02/todo.pod)
===================================================================
--- ironman/IronMan-Web/tags/ironboy/todo.pod (rev 0)
+++ ironman/IronMan-Web/tags/ironboy/todo.pod 2011-07-05 10:26:18 UTC (rev 9895)
@@ -0,0 +1,216 @@
+=head1 IronMan-Web release issues.
+
+Remaining issues for live deployment on 14th of April 2010.
+
+=head2 Page banner. - DONE - IDN
+
+The banner as follows:
+
+ Are you flesh? Or are you Iron?
+ Take the challenge
+ http://ironman.enlightenedperl.org/signup/new_feed
+
+Missing from the top of the page
+
+=head2 Paging.
+
+The detail between the banner detailed above and the very first feed post:
+
+ Join the program | Learn about the program | Report a problem
+
+ Only showing posts tagged "perl", "cpan" or "ironman" (or containing those words).
+ Last updated: 21:25:27 13-Apr-2010 First Previous 1 2 3 4 5 Next Last
+
+The above is missing at the top of the page, though the Older and Newer posts
+links are shown at the bottom of the page.
+
+=head2 Captcha on signup form.
+
+Castaway has added a recaptcha to the signup form on the existing
+site. This needs back porting to the dev site.
+
+=head2 Branding.
+
+These are minor issues that are inconsistent with the existing UI.
+Whilst we need to fix these up, we also need provision to have the
+all.things.per.ly branding restored in the future. Please bear
+this in mind when making the changes such that this can be achieved
+simply.
+
+Page title should be "Planet Perl Iron Man"
+
+The epo banner at the top should read:
+
+ enlightened perl organisation
+ enlightened |en'litnd|: adjective:
+ having or showing a rational, modern, and well-informed outlook
+
+Header in the yellow bar at the top of the page should similarly be:
+
+ Planet Perl Iron Man
+
+Footer should be:
+
+ Perl Iron Man Planet
+
+or:
+
+ Planet Perl Iron Man
+
+The second would be more consistent, though the former is the existing text.
+
+=head2 Images.
+
+For some reason images are being removed from posts. No idea why this might be
+but it's a degredation to existing functionality if we can't figure it out.
+
+=head2 Article headers.
+
+Tags and such are missing from the article headers.
+
+I'm sure this has been fixed in the data move once, but I don't recall how :(
+
+=head1 IronMan-Web feature requests.
+
+=head2 OPML file link.
+
+The existing site shows a link to download the OPML file.
+
+We need something here to download a similar SQLite file with the email addresses removed.
+
+=head2 Spam handling.
+
+The existing site has many spam handling issues. There's lots of crap in the
+database.
+
+We need:
+
+=over
+
+=item * Tools to remove the existing crap from the database.
+
+=item * Support included into Perlanet-IronMan to try and limit the amount that then re-appears.
+
+A number of people have suggested that using Spam Assassin might be a starting
+point for scanning existing content and possibly new content.
+
+=item * We need a quick and simple way to remove spam feeds once they're identified.
+
+This should probably be by feed or post URL.
+
+From IRC discussion:
+
+ 12:55 < mst> for the live one it's easy
+ 12:55 < mst> just cp the sqlite db first
+ 12:55 < castaway> on ironman I always do: login, cd plagger, cp subscriptions.db scubscriptions_pewdespam.db; sqlite3 subscriptions.db
+ 12:56 < castaway> any mess, re copy and start again ;)
+ 12:56 < castaway> backups++
+
+=item * A name should not appear on the index page until at least one post has been made.
+
+=back
+
+Note from robinsmidsrod in #epo-ironman:
+
+ 12:20 < robinsmidsrod> idn: I just wanted to suggest to you to use the http_bl support from https://www.projecthoneypot.org to reduce spam entering the ironman database - I've
+ successfully used it on my blog - now I barely have spam entering my blog, and I don't have a captcha installed
+ 12:21 < robinsmidsrod> I used the mod_httpbl apache implementation from https://www.projecthoneypot.org/httpbl_implementations.php
+ 12:21 < idn> robinsmidsrod: Thanks for the suggestion, I'll stick it in the todo list for investigation.
+ 12:23 < robinsmidsrod> sorry, my bad, I didn't use the mod_httpbl module - I actually used a b2evolution plugin - but projecthoneypot has a simple DNS-based API, so it shouldn't be to
+ hard to make a perl module to handle it
+ 12:23 < robinsmidsrod> it works just as any other DNS-based blacklist
+ 12:24 < robinsmidsrod> but the cool thing is that you can actually choose the threshold level for when you will block users
+
+Discussion followed:
+
+ 12:24 < idn> That's an interesting idea that I hadn't thought of.
+ 12:25 < idn> How would you look to implement it, at collection time or at signup time?
+ 12:25 < robinsmidsrod> actually, if you run your own DNS server (and http server) I would suggest to support the project - it is an awesome project (I've been a member for a bit over a
+ year)
+ 12:25 < robinsmidsrod> the new site is dynamic, right?
+ 12:25 < idn> Yes
+ 12:26 < idn> Hmm, I'd love to support the project, but my employer isn't very community minded or responsible in that respect.
+ 12:26 < robinsmidsrod> so just look up REMOTE_IP, do a lookup against projecthoneypot BL (via DNS) and check the response - if it shows something that looks bad, just block or redirect
+ the user to a page that explains the problem, or enable captcha
+ 12:26 < robinsmidsrod> idn: well, I support it with my private stuff
+ 12:27 < robinsmidsrod> anyone can donate a spare MX pointer ;)
+ 12:27 < robinsmidsrod> for some hostname you would probably never use
+ 12:27 < idn> Ah, I'm with you.
+ 12:28 < robinsmidsrod> mine is XXXmailserver.smidsrod.no which points to a honeypot
+ 12:29 < idn> So all I need is some domains rather than any actual kit ;) All of mine are on 123reg which neatly solves that problem.
+ 12:30 < robinsmidsrod> me alone have helped catching approx. 20 harvesters and spammers in the last year
+ 12:30 < robinsmidsrod> which is nice to know :)
+ 12:31 < robinsmidsrod> you can support them by donating an MX entry in your DNS, setting up a "hidden" link on your own websites linking to a honeypot, or you can setup an actual
+ honeypot - I've only done the two first
+ 12:32 < idn> That seems like a good idea, I'll put it forward to the boss too and see if we can't do something here at work.
+ 12:32 < robinsmidsrod> what I do in my blog is that if the remote_ip looks suspicies I redirect the user to my honeypot page, which means that those IPs that are already somewhat fishy
+ will be redirected to something that will make them more fishy if they harvest it :)
+ 12:33 < idn> I had been contemplating using spam assassin to scan content too
+ 12:34 < robinsmidsrod> idn: this is my honeypot page: http://minmailserver.smidsrod.no/
+ 12:34 < robinsmidsrod> if you look at the HTML content you'll see that there are some hidden links that harvesters will catch
+ 12:35 < idn> There are a couple of problems to address, one is the existing bad feeds (most of which don't appear because they don't use the right keywords) and secondly preventing new
+ bad feeds.
+ 12:36 < idn> The former is more of a problem due to the way in which the list of signed up users appears on the front page.
+ 12:36 < robinsmidsrod> honeypot will only help with the new bad feeds
+ 12:36 < idn> Possibly, the site hosting the spam might well be listed
+ 12:37 * mst still thinks "only appears in the right bar if they've got at least one post" would be a start
+ 12:37 < robinsmidsrod> if you have any IP-adresses linked with existing content you could of course manually run it throuh their BL and see what you find
+ 12:37 < robinsmidsrod> mst: I agree with that one
+ 12:37 < mst> actual spam posts will get nailed pretty quickly, I think
+ 12:37 < idn> mst: Yes, that's what's in the todo I think
+ 12:38 < robinsmidsrod> a "report spam" feature is available?
+ 12:38 < castaway> robinsmidsrod: no but that'd be handy, care to write one?
+ 12:38 < idn> I've thought about that and I've mixed opinions. It seems like it could be open to abuse and or create work for someone to deal with.
+ 12:38 < castaway> idn: we run a website, its gonna create work ;
+ 12:38 < castaway> ;)
+ 12:39 < idn> Yes. But I like to try my best to minimise that ;)
+ 12:39 < robinsmidsrod> castaway: I don't have any time available, 200% workload with work + full time studies, but I can explain how it could be created to mitigate moderator
+ intervention.
+ 12:40 < idn> I was contemplating some kind of scoring system that would blacklist a feed once so many reports have been received from different requesting hosts, but it's still a
+ little open to abuse. Coupled with administrative notification and oversight to re-enable if needed.
+ 12:40 < robinsmidsrod> castaway: create a form (POST) with a "Report spam" button so that behaving robots won't access it. When enough people have clicked that button the article will
+ be blacklisted until a moderator actually clears it from blacklist
+ 12:40 < castaway> idn: like, say, bayes? ;)
+ 12:41 < robinsmidsrod> idn: exactly the same as I thought
+ 12:41 < castaway> robinsmidsrod: makes sense.. (user moderation, yay)
+ 12:41 < robinsmidsrod> that way either the author needs to complain to a moderator that his post doesn't show up
+ 12:41 < idn> castaway: Erm, not quite, though my understanding of things statistical could be written on the back of a very small pin head....
+ 12:41 < robinsmidsrod> because it got blacklisted
+ 12:42 < idn> That wouldn't work in that each and every time the feed generated a spam, it would need to be black listed. Though I like where you're going.
+ 12:42 < robinsmidsrod> mst: do you have a suggestion on how to calculate how many reports should cause blacklisting to be triggered?
+ 12:42 < idn> Blacklist the individual post with some kind of hysteresis, then blacklist the feed once enough posts have been blacklisted.
+ 12:42 < mst> idn: er, what?
+ 12:43 < mst> why would you have to regen?
+ 12:43 < robinsmidsrod> idn: or enable reporting spam on both posts and feeds
+ 12:43 < mst> oh, each time. yes.
+ 12:43 < mst> idn: that's simple.
+ 12:43 < mst> two blacklists and the feed goes.
+ 12:43 < idn> There we go then :)
+ 12:44 < robinsmidsrod> I'd suggest to put the feed in a quarantine so that it is easy for a moderator to un-blacklist feeds - and once a feed has been un-blacklisted you would increase
+ the blacklist threshold
+ 12:45 < robinsmidsrod> sometimes member blogs get hijacked and start generating spam, but I guess that problem is much smaller than spammer blogs in general
+ 12:46 < idn> I wouldn't remove the feed, they could just sign it up again. I'd opt for blacklisting it and never collecting it again
+ 12:47 < robinsmidsrod> if the feed has been in the blacklist for , let's say a month or two, it will be automatically purged from the database
+ 12:47 < robinsmidsrod> what you said makes more sense yes :)
+ 12:47 < robinsmidsrod> and if they try to signup again you redirect them to a projecthoneypot page :)
+ 12:49 < robinsmidsrod> just make sure the report spam button is a form/post button, not a link, or else you'll gather report spam-reports en masse when misbehaving robots come in
+ 12:51 < idn> Hmm, that's a good place to use the honeypot stuff too.
+ 12:52 < robinsmidsrod> catch the spammers/harvesters by their own bad behaviour :)
+
+
+=head2 standards compliance
+
+=head3 Atom feed validation
+
+L<http://feedvalidator.org/check.cgi?url=http://ironman.enlightenedperl.org/atom.xml>
+
+I'm told this involves fixing L<XML::Feed>.
+
+=head2 Gravatar support?
+
+12:12 < poisonbit> gravatar support could be funny
+12:13 < idn> poisonbit: Cool. I like. I'll add it to the wishlist.
+
+http://en.gravatar.com/
+
+=cut
More information about the Bast-commits
mailing list