You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(381) |
Nov
(176) |
Dec
(310) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(334) |
Feb
(96) |
Mar
(149) |
Apr
(214) |
May
(120) |
Jun
(56) |
Jul
(10) |
Aug
(273) |
Sep
(182) |
Oct
(56) |
Nov
(125) |
Dec
(22) |
2003 |
Jan
(63) |
Feb
(181) |
Mar
(498) |
Apr
(433) |
May
(39) |
Jun
(512) |
Jul
(276) |
Aug
(156) |
Sep
(101) |
Oct
(66) |
Nov
(24) |
Dec
(161) |
2004 |
Jan
(1) |
Feb
(377) |
Mar
(68) |
Apr
(26) |
May
(107) |
Jun
(333) |
Jul
(13) |
Aug
|
Sep
(76) |
Oct
(88) |
Nov
(170) |
Dec
(91) |
2005 |
Jan
(52) |
Feb
(239) |
Mar
(402) |
Apr
(15) |
May
(2) |
Jun
(1) |
Jul
(13) |
Aug
|
Sep
(71) |
Oct
(34) |
Nov
|
Dec
|
2006 |
Jan
(5) |
Feb
(5) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
(7) |
Oct
(2) |
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Chris W. <la...@us...> - 2004-10-25 02:29:40
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7857 Modified Files: package.conf MANIFEST Changes Log Message: updates for 0.02 Index: package.conf =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/package.conf,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** package.conf 24 Oct 2004 16:40:08 -0000 1.1 --- package.conf 25 Oct 2004 02:29:31 -0000 1.2 *************** *** 1,4 **** name delicious_tags ! version 0.01 author Chris Winters <ch...@cw...> url http://www.openinteract.org/ --- 1,4 ---- name delicious_tags ! version 0.02 author Chris Winters <ch...@cw...> url http://www.openinteract.org/ Index: MANIFEST =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/MANIFEST,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MANIFEST 24 Oct 2004 16:40:08 -0000 1.1 --- MANIFEST 25 Oct 2004 02:29:31 -0000 1.2 *************** *** 12,15 **** --- 12,16 ---- OpenInteract2/DeliciousTaggableObject.pm OpenInteract2/Action/DeliciousTags.pm + OpenInteract2/Observer/AddDeliciousTags.pm OpenInteract2/SQLInstall/DeliciousTags.pm template/related_tags_box.tmpl Index: Changes =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/Changes,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Changes 24 Oct 2004 16:40:07 -0000 1.1 --- Changes 25 Oct 2004 02:29:31 -0000 1.2 *************** *** 1,6 **** Revision history for OpenInteract2 package delicious_tags. 0.01 Fri Oct 22 06:03:21 2004 ! Package skeleton created by OpenInteract2::Package --- 1,13 ---- Revision history for OpenInteract2 package delicious_tags. + 0.02 Sun Oct 24 22:18:30 EDT 2004 + + - Add OI2::Observer::AddDeliciousTags + + - Add 'add_tags()' methods to OI2::DeliciousTaggableObject and + OI2::DeliciousTag + 0.01 Fri Oct 22 06:03:21 2004 ! Everything is new! |
From: Chris W. <la...@us...> - 2004-10-25 02:29:40
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/OpenInteract2/SQLInstall In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7857/OpenInteract2/SQLInstall Modified Files: DeliciousTags.pm Log Message: updates for 0.02 Index: DeliciousTags.pm =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/OpenInteract2/SQLInstall/DeliciousTags.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DeliciousTags.pm 24 Oct 2004 16:40:08 -0000 1.1 --- DeliciousTags.pm 25 Oct 2004 02:29:30 -0000 1.2 *************** *** 12,16 **** sub get_structure_set { ! return 'delicious_tags'; } --- 12,16 ---- sub get_structure_set { ! return 'delicious_tag'; } |
From: Chris W. <la...@us...> - 2004-10-25 02:29:38
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/struct In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7857/struct Modified Files: delicious_tags.sql Log Message: updates for 0.02 Index: delicious_tags.sql =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/struct/delicious_tags.sql,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** delicious_tags.sql 24 Oct 2004 16:40:09 -0000 1.1 --- delicious_tags.sql 25 Oct 2004 02:29:30 -0000 1.2 *************** *** 8,11 **** created_on %%DATETIME%% NULL, PRIMARY KEY( tag_id ), ! UNIQUE( tag, type, object_id ) ); \ No newline at end of file --- 8,11 ---- created_on %%DATETIME%% NULL, PRIMARY KEY( tag_id ), ! UNIQUE( tag, object_type, object_id ) ); \ No newline at end of file |
From: Chris W. <la...@us...> - 2004-10-25 02:29:12
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/OpenInteract2/Observer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7784/OpenInteract2/Observer Log Message: Directory /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/OpenInteract2/Observer added to the repository |
From: Chris W. <la...@us...> - 2004-10-24 16:40:20
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/struct In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18386/delicious_tags/struct Added Files: delicious_tags.sql delicious_tags_sequence.sql Log Message: intial import of delicious_tags package --- NEW FILE: delicious_tags.sql --- CREATE TABLE delicious_tags ( tag_id %%INCREMENT%% NOT NULL, tag VARCHAR(35) NOT NULL, object_type VARCHAR(20) NOT NULL, object_id %%INCREMENT_TYPE%% NOT NULL, name VARCHAR(100) NULL, url VARCHAR(150) NULL, created_on %%DATETIME%% NULL, PRIMARY KEY( tag_id ), UNIQUE( tag, type, object_id ) ); --- NEW FILE: delicious_tags_sequence.sql --- CREATE SEQUENCE delicious_tags_seq; |
From: Chris W. <la...@us...> - 2004-10-24 16:40:19
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/msg In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18386/delicious_tags/msg Added Files: delicious_tags-en.msg Log Message: intial import of delicious_tags package --- NEW FILE: delicious_tags-en.msg --- tags.related_tags.title = Related Tags |
From: Chris W. <la...@us...> - 2004-10-24 16:40:19
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/conf In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18386/delicious_tags/conf Added Files: action.ini spops.ini Log Message: intial import of delicious_tags package --- NEW FILE: action.ini --- [related_tags_box] class = OpenInteract2::Action::DeliciousTags task = related_tags is_secure = no template = delicious_tags::related_tags_box url_none = yes weight = 2 title_key = tags.related_tags.title title = Related Tags [tagged_objects] class = OpenInteract2::Action::DeliciousTags task = related_objects is_secure = no template_source = delicious_tags::tagged_objects --- NEW FILE: spops.ini --- [delicious_tag] class = OpenInteract2::DeliciousTagsPersist field = field_discover = yes id_field = tag_id increment_field = yes sequence_name = delicious_tags_seq is_secure = no no_insert = tag_id no_update = tag_id skip_undef = tag_id sql_defaults = base_table = delicious_tags name = tag object_name = Tags |
From: Chris W. <la...@us...> - 2004-10-24 16:40:19
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18386/delicious_tags/doc Added Files: delicious_tags.pod Log Message: intial import of delicious_tags package --- NEW FILE: delicious_tags.pod --- =head1 NAME delicious_tags - Tag generic objects =head1 SYNOPSIS # Mark an action ('myaction') with the delicious observer; this means # it will attach tags found in the request variable 'delicious_tags' # to the object found in the action parameter 'object' or 'c_object' # (this is done automatically for you if you're using the Common # actions) # in $WEBSITE_DIR/conf/observer.ini [observer] delicious = OpenInteract2::Observer::DeliciousTag [map] delicious = myaction # Mark an object ('myobject') as taggable with delicious tags; this # will add a few methods to the base object # in $PKG_DIR/conf/spops_myobject.ini [myobject] class = OpenInteract2::Foo ... is_taggable = yes # Once marked as taggable you can execute methods: # Find tags attached to object my $tags = $myobject->fetch_my_tags; print "Object tagged with: ", join( ', ', @{ $tags } ); my $tags_with_count = $myobject->fetch_my_tags_with_count; print "Object tagged with:\n"; foreach my $tag_and_count( @{ $tags_with_count } ) { print " - $tag_and_count->[0]: $tag_and_count->[1]\n"; } # Find other objects with any of the same tags as this one my $related_info = $myobject->fetch_related_object_info; # Find other objects with the tag 'sometag' my $related_info = $myobject->fetch_related_object_info( 'sometag' ); # Find other objects with the tags 'sometag' or 'someothertag' my $related_info = $myobject->fetch_related_object_info( 'sometag', 'someothertag' ); print "Object related to:\n"; foreach my $info ( @{ $related_info } ) { my $url = OpenInteract2::URL->create( $info->{url}, {}, 1 ); print " - $info->{title} ($info->{type})\n", " Tag: $info->{tag}; URL: $url\n"; } # These are class methods we cleverly disguise as being called from # an object without state because it's less typing... my $tagger = OpenInteract2::DeliciousTag->new; # Fetch available tags my $tags = $tagger->fetch_all_tags; print "Available tags: ", join( ', ', @{ $tags } ); # Fetch available tags with the number of objects in each my $tags_and_counts = $tagger->fetch_all_tags_with_count; foreach my $tag_and_count( @{ $tags_with_count } ) { print "$tag_and_count->[0]: $tag_and_count->[1]\n"; } # You can also fetch as an arrayref of hashrefs my $tags_and_counts = $tagger->fetch_all_tags_with_count( {} ); foreach my $tag_and_count( @{ $tags_with_count } ) { print "$tag_and_count->{tag}: $tag_and_count->{count}\n"; } # Fetch a count by tag my $count = $tagger->fetch_count( 'sometag' ); print "Number of objects with tag 'sometag': $count\n"; # Find related tags -- this will find all other tags attached to # objects attached to this tag my $tags = $tagger->fetch_related_tags( 'sometag' ); print "Other tags related to 'sometag': ", join( ', ', @{ $tags } ); # Similarly, find tag and count for related tags print "Also related to 'sometag':\n"; my $tags = $tagger->fetch_related_tags_with_count( 'sometag' ); foreach my $tag_and_count( @{ $tags_with_count } ) { print " - $tag_and_count->{tag}: $tag_and_count->{count}\n"; } =head1 DESCRIPTION This module allows you to add arbitrary textual tags to objects. It is a simple copy of the ideas at L<http://del.icio.us/>, a social bookmarking system. An earlier version of this same idea was available in the OpenInteract 1.x package C<object_link> but it was much heavier and less flexible. The beauty of these tags is that you can create them whenever you want -- there's no separate table of 'tags' you need to maintain -- and they're just simple text. There's no weighting or anything like that. =head1 OBJECTS L<delicious_tag> =head1 ACTIONS No actions defined in this package. =head1 RULESETS No rulesets defined in this package. =head1 BUGS None known. =head1 AUTHORS Chris Winters E<lt>ch...@cw...E<gt> |
From: Chris W. <la...@us...> - 2004-10-24 16:40:18
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/template In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18386/delicious_tags/template Added Files: related_tags_box.tmpl tagged_objects.tmpl Log Message: intial import of delicious_tags package --- NEW FILE: related_tags_box.tmpl --- [% FOREACH tc = tag_and_count; tagged_objects_url = OI.make_url( ACTION = 'tags', TASK = 'show_tagged_objects', tag = tc.0 ); %] o <a href="">[% tc.0 %]</a> ([% tc.1 %]) <br /> [% END %] --- NEW FILE: tagged_objects.tmpl --- [% FOREACH ti = tag_info; item_url = OI.make_url( BASE = ti.url, do_not_escape = 1 ) %] o [% ti.object_type %]: <a href="[% item_url %]">[% ti.name %]</a> <br /> [% END %] |
From: Chris W. <la...@us...> - 2004-10-24 16:40:17
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/OpenInteract2/SQLInstall In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18386/delicious_tags/OpenInteract2/SQLInstall Added Files: DeliciousTags.pm Log Message: intial import of delicious_tags package --- NEW FILE: DeliciousTags.pm --- package OpenInteract2::SQLInstall::DeliciousTags; # $Id: DeliciousTags.pm,v 1.1 2004/10/24 16:40:08 lachoy Exp $ use strict; use base qw( OpenInteract2::SQLInstall ); my %FILES = ( sequence => 'delicious_tags_sequence.sql', default => 'delicious_tags.sql', ); sub get_structure_set { return 'delicious_tags'; } sub get_structure_file { my ( $self, $set, $type ) = @_; if ( $type =~ /^(Pg|Oracle)$/ ) { return [ $FILES{sequence}, $FILES{default} ]; } return [ $FILES{default} ]; } 1; |
From: Chris W. <la...@us...> - 2004-10-24 16:40:17
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18386/delicious_tags Added Files: Changes MANIFEST MANIFEST.SKIP package.conf Log Message: intial import of delicious_tags package --- NEW FILE: Changes --- Revision history for OpenInteract2 package delicious_tags. 0.01 Fri Oct 22 06:03:21 2004 Package skeleton created by OpenInteract2::Package --- NEW FILE: MANIFEST --- Changes MANIFEST MANIFEST.SKIP package.conf conf/action.ini conf/spops.ini doc/delicious_tags.pod msg/delicious_tags-en.msg struct/delicious_tags.sql struct/delicious_tags_sequence.sql OpenInteract2/DeliciousTag.pm OpenInteract2/DeliciousTaggableObject.pm OpenInteract2/Action/DeliciousTags.pm OpenInteract2/SQLInstall/DeliciousTags.pm template/related_tags_box.tmpl template/tagged_objects.tmpl --- NEW FILE: MANIFEST.SKIP --- \bCVS\b ~$ ^oi2_manage\.log$ \.old$ \.bak$ \.backup$ ^tmp ^_ --- NEW FILE: package.conf --- name delicious_tags version 0.01 author Chris Winters <ch...@cw...> url http://www.openinteract.org/ sql_installer OpenInteract2::SQLInstall::DeliciousTags description Lightweight tags to related any objects. |
From: Chris W. <la...@us...> - 2004-10-24 16:40:16
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/OpenInteract2/Action In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18386/delicious_tags/OpenInteract2/Action Added Files: DeliciousTags.pm Log Message: intial import of delicious_tags package --- NEW FILE: DeliciousTags.pm --- package OpenInteract2::Action::DeliciousTags; # $Id: DeliciousTags.pm,v 1.1 2004/10/24 16:40:08 lachoy Exp $ use strict; use base qw( OpenInteract2::Action ); use Log::Log4perl qw( get_logger ); use OpenInteract2::Constants qw( :log ); use OpenInteract2::Context qw( CTX ); use OpenInteract2::DeliciousTaggableObject; $OpenInteract2::Action::DeliciousTags::VERSION = sprintf("%d.%02d", q$Revision: 1.1 $ =~ /(\d+)\.(\d+)/); sub related_tags { my ( $self ) = @_; my $object = $self->param( 'object' ) || $self->param( 'c_object' ); my $type = $object->CONFIG->{object_name}; my $id = $object->id; my $related_with_count = OpenInteract2::DeliciousTaggableObject ->c_fetch_my_tags_with_count( $type, $id ); my %params = ( object => $object, tag_and_count => $related_with_count, ); return $self->generate_content( \%params, { name => 'delicious_tags::related_tags' }); } sub tagged_objects { my ( $self ) = @_; my $request = CTX->request; my $tag = $self->param( 'tag' ) || $request->param( 'tag' ); my %params = ( tag => $tag ); if ( $tag ) { $self->param_add( error_msg => "Must specify 'tag' to find related objects" ); } else { my $tag_class = CTX->lookup_object( 'delicious_tag' ); my $object_refs = $tag_class->fetch_group({ where => 'tag = ?', value => [ $tag ], }); $params{tag_info} = $object_refs; } return $self->generate_content( \%params ); } 1; |
From: Chris W. <la...@us...> - 2004-10-24 16:40:16
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/OpenInteract2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18386/delicious_tags/OpenInteract2 Added Files: DeliciousTag.pm DeliciousTaggableObject.pm Log Message: intial import of delicious_tags package --- NEW FILE: DeliciousTag.pm --- package OpenInteract2::DeliciousTag; # $Id: DeliciousTag.pm,v 1.1 2004/10/24 16:40:08 lachoy Exp $ use strict; @OpenInteract2::DeliciousTag::ISA = qw( OpenInteract2::DeliciousTagPersist ); sub fetch_all_tags { my ( $class ) = @_; my $tags = $class->db_select({ select_modifier => 'DISTINCT', select => [ 'tag' ], from => [ $class->table_name ], order => 'tag', return => 'single-list', }); return $tags; } sub fetch_all_tags_with_count { my ( $class, $option ) = @_; my $counts = $class->db_select({ select => [ 'tag', 'count(*)' ], from => [ $class->table_name ], order => 'tag', group => 'tag', }); return $counts; } sub fetch_tags_for_object { my ( $class, $object_type, $object_id ) = @_; my $tags = $class->db_select({ select => [ 'tag' ], from => [ $class->table_name ], where => 'object_type = ? AND object_id = ?', value => [ $object_type, $object_id ], order => 'tag', return => 'single-list', }); return $tags; } # Return all objects that have a given tag in \@tags; we uniq-ify them # first so there's only one instance of each in the returned arrayref sub fetch_tag_objects { my ( $class, $tags, $skip_type, $skip_id ) = @_; my $where = $class->_create_or_clause_for_tags( @{ $tags } ); my @values = @{ $tags }; if ( $skip_type and $skip_id ) { $where .= ' AND ( object_type != ? AND object_id != ? )'; push @values, $skip_type, $skip_id; } my $tag_objects = $class->fetch_group({ where => $where, value => \@values, order => 'object_type', }); my @uniq_tag_objects = (); my %seen = (); foreach my $tag_object ( @{ $tag_objects } ) { my ( $type, $id ) = ( $tag_object->{object_type}, $tag_object->{object_id} ); next if ( $seen{ $type }->{ $id } ); $seen{ $type }->{ $id }++; push @uniq_tag_objects, $tag_object; } return \@uniq_tag_objects; } sub fetch_tags_with_count_for_object { my ( $class, $object_type, $object_id ) = @_; my $tags = $class->fetch_tags_for_object( $object_type, $object_id ); return $class->_fetch_counts_for_tags( $tags ); } sub fetch_count { my ( $class, $tag ) = @_; my $count = $class->db_select({ select => [ 'count(*)' ], from => [ $class->table_name ], where => 'tag = ?', value => [ $tag ], return => 'single-list', }); return $count->[0]; } sub fetch_related_tags { my ( $class, @base_tags ) = @_; my $table = $class->table_name; my $base_where = $class->_create_or_clause_for_tags( @base_tags ); my $sql = qq{ SELECT d2.tag FROM $table d1, $table d2 WHERE ( $base_where ) AND d2.object_type = d1.object_type AND d2.object_id = d1.object_id AND d2.tag != d1.tag }; my $tags = $class->db_select({ sql => $sql, value => \@base_tags, return => 'single-list', }); return $tags; } sub fetch_related_tags_with_count { my ( $class, $base_tag ) = @_; my $tags = $class->fetch_related_tags( $base_tag ); return $class->_fetch_counts_for_tags( $tags ); } sub _fetch_counts_for_tags { my ( $class, $tags ) = @_; my $where = $class->_create_or_clause_for_tags( @{ $tags } ); my $counts = $class->db_select({ select => [ 'tag', 'count(*)' ], from => [ $class->table_name ], where => $where, value => $tags, group => 'tag', }); return $counts; } sub _create_or_clause_for_tags { my ( $class, @tags ) = @_; return '(' . join( ' OR ', map { 'tag = ?' } @tags ) . ')'; } 1; --- NEW FILE: DeliciousTaggableObject.pm --- package OpenInteract2::DeliciousTaggableObject; # $Id: DeliciousTaggableObject.pm,v 1.1 2004/10/24 16:40:08 lachoy Exp $ use strict; use OpenInteract2::DeliciousTag; sub c_fetch_my_tags { my ( $class, $object_type, $id ) = @_; return OpenInteract2::DeliciousTag ->fetch_tags_for_object( $object_type, $id ); } sub c_fetch_my_tags_with_count { my ( $class, $object_type, $id ) = @_; return OpenInteract2::DeliciousTag ->fetch_tags_with_count_for_object( $object_type, $id ); } sub c_fetch_my_related_object_info { my ( $class, $object_type, $id, @tags ) = @_; my $related_tags = OpenInteract2::DeliciousTag ->fetch_related_tags( $object_type, $id, @tags ); return OpenInteract2::DeliciousTag ->fetch_tag_objects( $related_tags, $object_type, $id ); } sub fetch_my_tags { my ( $object ) = @_; my $type = $object->CONFIG->{object_name}; return __PACKAGE__->c_fetch_my_tags( $type, $object->id ); } sub fetch_my_tags_with_count { my ( $object ) = @_; my $type = $object->CONFIG->{object_name}; return __PACKAGE__->c_fetch_my_tags_with_count( $type, $object->id ); } sub fetch_my_related_object_info { my ( $object, @optional_tags ) = @_; my $type = $object->CONFIG->{object_name}; return __PACKAGE__->c_fetch_my_related_object_info( $type, $object->id ); } 1; |
From: Chris W. <la...@us...> - 2004-10-24 16:37:58
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/doc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17820/delicious_tags/doc Log Message: Directory /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/doc added to the repository |
From: Chris W. <la...@us...> - 2004-10-24 16:37:58
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/OpenInteract2/Action In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17820/delicious_tags/OpenInteract2/Action Log Message: Directory /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/OpenInteract2/Action added to the repository |
From: Chris W. <la...@us...> - 2004-10-24 16:37:58
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17820/delicious_tags Log Message: Directory /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags added to the repository |
From: Chris W. <la...@us...> - 2004-10-24 16:37:58
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/struct In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17820/delicious_tags/struct Log Message: Directory /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/struct added to the repository |
From: Chris W. <la...@us...> - 2004-10-24 16:37:58
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/OpenInteract2/SQLInstall In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17820/delicious_tags/OpenInteract2/SQLInstall Log Message: Directory /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/OpenInteract2/SQLInstall added to the repository |
From: Chris W. <la...@us...> - 2004-10-24 16:37:57
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/template In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17820/delicious_tags/template Log Message: Directory /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/template added to the repository |
From: Chris W. <la...@us...> - 2004-10-24 16:37:57
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/OpenInteract2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17820/delicious_tags/OpenInteract2 Log Message: Directory /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/OpenInteract2 added to the repository |
From: Chris W. <la...@us...> - 2004-10-24 16:37:57
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/msg In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17820/delicious_tags/msg Log Message: Directory /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/msg added to the repository |
From: Chris W. <la...@us...> - 2004-10-24 16:37:57
|
Update of /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/conf In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17820/delicious_tags/conf Log Message: Directory /cvsroot/openinteract/OpenInteract2/extra_packages/delicious_tags/conf added to the repository |
From: Chris W. <la...@us...> - 2004-10-24 16:18:14
|
Update of /cvsroot/openinteract/OpenInteract2/doc/Manual In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12129/doc/Manual Modified Files: Changes.pod Log Message: latest changes Index: Changes.pod =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/doc/Manual/Changes.pod,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** Changes.pod 5 Oct 2004 03:32:54 -0000 1.50 --- Changes.pod 24 Oct 2004 16:18:05 -0000 1.51 *************** *** 161,164 **** --- 161,186 ---- method. + =item * + + Add 'message_from_key_or_param()' shortcut method. + + =item * + + If a 'template_source' is specified in an action configuration and + it's not keyed by task, just assume the author knows what they're + doing and use that template for all tasks in the action. This allows + you to more easily tie a template to a task in configuration: + + [myaction] + class = Foo::Bar + task = baz + template_source = mypkg::mytemplate + + It also means you can use the same template for all tasks, which can + be useful. (For instance, if you have a 'mysearch' action and each + task allows you to specify different parameters ['by_name', 'by_date', + 'by_city', etc.], you may want all the task results to go to the same + template.) + =back *************** *** 516,519 **** --- 538,552 ---- =back + L<OpenInteract2::TT2::Plugin> + + =over 4 + + =item * + + OIN-79: Pass value of parameter 'do_not_escape' from template + invocation to L<OpenInteract2::URL> methods + + =back + L<OpenInteract2::URL> |
From: Chris W. <la...@us...> - 2004-10-24 16:17:39
|
Update of /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/TT2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11897/TT2 Modified Files: Plugin.pm Log Message: OIN-79: make all url creation calls honor 'do_not_escape' flag Index: Plugin.pm =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/TT2/Plugin.pm,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** Plugin.pm 5 Oct 2004 02:13:50 -0000 1.13 --- Plugin.pm 24 Oct 2004 16:17:29 -0000 1.14 *************** *** 352,372 **** $url_base = $p->{BASE}; delete $p->{ $_ } for ( qw( ACTION TASK BASE IMAGE STATIC ) ); ! return $U->create( $url_base, $p ); } elsif ( $p->{ACTION} ) { my ( $action, $task ) = ( $p->{ACTION}, $p->{TASK} ); delete $p->{ $_ } for ( qw( ACTION TASK BASE IMAGE STATIC ) ); ! return $U->create_from_action( ! $action, $task, $p ); } elsif ( $p->{IMAGE} ) { my $image_url = $p->{IMAGE}; delete $p->{ $_ } for ( qw( ACTION TASK BASE IMAGE STATIC ) ); ! return $U->create_image( $image_url, $p ); } elsif ( $p->{STATIC} ) { my $static_url = $p->{STATIC}; delete $p->{ $_ } for ( qw( ACTION TASK BASE IMAGE STATIC ) ); ! return $U->create_static( $static_url, $p ); } else { --- 352,371 ---- $url_base = $p->{BASE}; delete $p->{ $_ } for ( qw( ACTION TASK BASE IMAGE STATIC ) ); ! return $U->create( $url_base, $p, $p->{do_not_escape} ); } elsif ( $p->{ACTION} ) { my ( $action, $task ) = ( $p->{ACTION}, $p->{TASK} ); delete $p->{ $_ } for ( qw( ACTION TASK BASE IMAGE STATIC ) ); ! return $U->create_from_action( $action, $task, $p, $p->{do_not_escape} ); } elsif ( $p->{IMAGE} ) { my $image_url = $p->{IMAGE}; delete $p->{ $_ } for ( qw( ACTION TASK BASE IMAGE STATIC ) ); ! return $U->create_image( $image_url, $p, $p->{do_not_escape} ); } elsif ( $p->{STATIC} ) { my $static_url = $p->{STATIC}; delete $p->{ $_ } for ( qw( ACTION TASK BASE IMAGE STATIC ) ); ! return $U->create_static( $static_url, $p, $p->{do_not_escape} ); } else { |
From: Chris W. <la...@us...> - 2004-10-24 15:50:23
|
Update of /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5546/lib/OpenInteract2 Modified Files: Action.pm Log Message: allow 'template_source' to be applied to all tasks in an action Index: Action.pm =================================================================== RCS file: /cvsroot/openinteract/OpenInteract2/lib/OpenInteract2/Action.pm,v retrieving revision 1.56 retrieving revision 1.57 diff -C2 -d -r1.56 -r1.57 *** Action.pm 24 Oct 2004 15:03:52 -0000 1.56 --- Action.pm 24 Oct 2004 15:50:14 -0000 1.57 *************** *** 483,529 **** $content_params->{action_messages} = $self->view_messages; ! # If source wasn't specified see if it's found in ! # 'template_source' ! unless ( $source ) { ! my $task = $self->task; ! if ( my $source_info = $self->template_source ) { ! unless ( ref $source_info eq 'HASH' ) { ! my $msg = "No template source specified in config, " . ! "no source returned for task '$task'"; ! $log->error( $msg ); ! oi_error $msg; ! } ! my $task_template_source = $source_info->{ $task }; ! unless ( $task_template_source ) { ! my $msg = "No template source in config for task '$task'"; ! $log->error( $msg ); ! oi_error $msg; ! } ! $log->is_debug && ! $log->debug( "Found template source from action ", ! "[$task_template_source] config" ); ! my ( $msg_key ) = $task_template_source =~ /^msg:(.*)$/; ! if ( $msg_key ) { ! $source = { message_key => $msg_key }; ! } ! else { ! $source = { name => $task_template_source }; ! } ! } ! else { ! my $msg = "No template source specified in config, " . ! "no source returned for task '$task'"; $log->error( $msg ); oi_error $msg; } } ! my $generator = CTX->content_generator( $self->content_generator ); ! my $content = $generator->generate( $template_params, ! $content_params, ! $source ); ! return $content; } --- 483,540 ---- $content_params->{action_messages} = $self->view_messages; ! if ( ref( $source ) eq 'HASH' and scalar keys %{ $source } == 0 ) { ! $source = undef; ! } ! $source ||= $self->_get_template_source_from_config; ! my $generator = CTX->content_generator( $self->content_generator ); ! return $generator->generate( ! $template_params, $content_params, $source ); ! } ! ! # grab the template source from the configuration key ! # 'template_source', handling per-task configuration as well as ! # message key lookups ! ! sub _get_template_source_from_config { ! my ( $self ) = @_; ! my $task = $self->task; ! my $source_info = $self->template_source; ! unless ( $source_info ) { ! my $msg = "No template source specified in config, " . ! "no source returned for task '$task'"; ! $log->error( $msg ); ! oi_error $msg; ! } ! ! my ( $task_template_source ); ! if ( ref $source_info eq 'HASH' ) { ! $task_template_source = $source_info->{ $task }; ! unless ( $task_template_source ) { ! my $msg = "No template source in config for task '$task'"; $log->error( $msg ); oi_error $msg; } + $log->is_debug && + $log->debug( "Found '$task_template_source' template ", + "for '$task' task" ); } ! # assume we're using the same template for all tasks in action; ! # typically when we specify a 'task' ! else { ! $log->is_debug && ! $log->debug( "Found '$source_info' template for all ", ! "tasks in action" ); ! $task_template_source = $source_info ! } ! $log->is_debug && ! $log->debug( "Found template source from action: ", ! "'$task_template_source'" ); ! my ( $msg_key ) = $task_template_source =~ /^msg:(.*)$/; ! return ( $msg_key ) ! ? { message_key => $msg_key } ! : { name => $task_template_source }; } |