Changeset 769

Show
Ignore:
Timestamp:
04/20/06 10:42:05 (3 years ago)
Author:
dom
Message:

Revert changes using CGI::Wiki::Plugin::Atom pending CGI::Wiki/Wiki::Toolkit refactoring.

Location:
trunk
Files:
6 modified

Legend:

Unmodified
Added
Removed
  • trunk/Build.PL

    r753 r769  
    221221        'CGI::Wiki'                       => '0.62',  # fixed delete version 
    222222        'CGI::Wiki::Formatter::UseMod'    => '0.16',  # macros 
    223         'CGI::Wiki::Plugin::Atom'         => 0, 
    224223        'CGI::Wiki::Plugin::Categoriser'  => 0, 
    225224        'CGI::Wiki::Plugin::Diff'         => '0.08',  # earlier buggy 
  • trunk/Changes

    r765 r769  
    55        #42 New "About" screen. Try action=about and action=about;format=rdf. 
    66        #97 Use "summary" metadata to generate HTML meta descriptions. 
    7         Support for Atom feeds for RecentChanges; new OpenGuides::Feed 
    8           module to handle feed generation (code was previously in 
    9           OpenGuides::RDF). 
     7        New OpenGuides::Feed module to handle feed generation (code was 
     8          previously in OpenGuides::RDF). 
    109        Generate URIs for locales and contributors in RDF output. 
    1110 
  • trunk/PREREQUISITES

    r753 r769  
    99CGI::Wiki (version 0.62 or later) 
    1010CGI::Wiki::Formatter::UseMod (version 0.16 or later) 
    11 CGI::Wiki::Plugin::Atom 
    1211CGI::Wiki::Plugin::Categoriser 
    1312CGI::Wiki::Plugin::Diff (version 0.08 or later) 
  • trunk/lib/OpenGuides.pm

    r765 r769  
    156156        $tt_vars{"rss_".lc($type)."_url"} = 
    157157                           $config->script_name . "?action=rc;format=rss;" 
    158                            . lc($type) . "=" . lc(CGI->escape($2)); 
    159         $tt_vars{"atom_".lc($type)."_url"} = 
    160                            $config->script_name . "?action=rc;format=atom;" 
    161158                           . lc($type) . "=" . lc(CGI->escape($2)); 
    162159    } 
     
    651648                     ); 
    652649 
    653   # All edits bob has made to pub pages in the last week in Atom format 
    654   $guide->display_feed( 
    655                          feed_type => 'atom', 
    656                          days      => 7, 
    657                          username  => "bob", 
    658                          category  => "Pubs", 
    659                      ); 
    660  
    661650C<feed_type> is a mandatory parameter. Supported values at present are  
    662 "rss" and "atom". 
     651"rss". 
    663652 
    664653As with other methods, the C<return_output> parameter can be used to 
     
    705694    if ($feed_type eq 'rss') { 
    706695        $output = "Content-Type: application/rdf+xml\n"; 
    707     } 
    708     elsif ($feed_type eq 'atom') { 
    709         $output = "Content-Type: application/atom+xml\n"; 
    710     } 
    711     else { 
     696    } else { 
    712697        croak "Unknown feed type given: $feed_type"; 
    713698    } 
  • trunk/lib/OpenGuides/Feed.pm

    r753 r769  
    66$VERSION = '0.01'; 
    77 
    8 use CGI::Wiki::Plugin::Atom; 
    98use CGI::Wiki::Plugin::RSS::ModWiki; 
    109use Time::Piece; 
     
    6463    my %known_types = ( 
    6564                          'rss'  => 1, 
    66                           'atom' => 1, 
    6765                      ); 
    6866                       
     
    7371        return $self->rss_maker->recent_changes(%args); 
    7472    } 
    75     elsif ($feed_type eq 'atom') { 
    76         return $self->atom_maker->recent_changes(%args); 
    77     } 
    78 } 
    79  
    80 sub atom_maker { 
    81     my $self = shift; 
    82    
    83     unless ($self->{atom_maker}) { 
    84         $self->{atom_maker} = CGI::Wiki::Plugin::Atom->new( 
    85             wiki                => $self->{wiki}, 
    86             site_name           => $self->{site_name}, 
    87             site_url            => $self->{config}->script_url, 
    88             site_description    => $self->{site_description}, 
    89             make_node_url       => $self->{make_node_url}, 
    90             recent_changes_link => $self->{config}->script_url . '?action=rc', 
    91             atom_link           => $self->{config}->script_url . '?action=rc&format=atom', 
    92             software_name       => 'OpenGuides', 
    93             software_homepage   => 'http://openguides.org/', 
    94             software_version    => $self->{og_version}, 
    95         ); 
    96     } 
    97      
    98     $self->{atom_maker}; 
    9973} 
    10074 
     
    133107=head1 DESCRIPTION 
    134108 
    135 Produces RSS 1.0 and Atom 1.0 feeds for OpenGuides.  Distributed and  
     109Produces RSS 1.0 feeds for OpenGuides.  Distributed and  
    136110installed as part of the OpenGuides project, not intended for independent 
    137111installation.  This documentation is probably only useful to OpenGuides 
     
    177151invoked this module with. 
    178152 
    179 =item B<atom_maker> 
    180  
    181 Returns a raw L<CGI::Wiki::Plugin::Atom> object created with the values you 
    182 invoked this module with. 
    183  
    184153=item B<make_feed> 
    185154 
     
    191160    print $rdf_writer->make_feed( %args ); 
    192161 
    193     # All the changes made by bob in the past week, ignoring minor edits, in Atom. 
    194     $args{days}               = 7; 
    195     $args{ignore_minor_edits  = 1; 
    196     $args{filter_on_metadata} => { username => "bob" }; 
    197  
    198     print "Content-Type: application/atom+xml\n"; 
    199     print "Last-Modified: " . $feed->feed_timestamp( %args ) . "\n\n"; 
    200     print $feed->make_feed( %args ); 
    201  
    202162=item B<feed_timestamp> 
    203163 
     
    216176=over 4 
    217177 
    218 =item * L<CGI::Wiki>, L<CGI::Wiki::Plugin::RSS::ModWiki> and L<CGI::Wiki::Plugin::Atom> 
     178=item * L<CGI::Wiki> and L<CGI::Wiki::Plugin::RSS::ModWiki> 
    219179 
    220180=item * L<http://openguides.org/> 
  • trunk/wiki.cgi

    r753 r769  
    111111                croak "Unknown RSS feed type '$feed'"; 
    112112            } 
    113         } elsif ($format && $format eq 'atom') { 
    114             my %args = map { $_ => ( $q->param($_) || "" ) } 
    115                        qw( feed items days ignore_minor_edits username 
    116                            category locale ); 
    117             $args{feed_type} = 'atom'; 
    118             $guide->display_feed( %args ); 
    119113        } else { 
    120114            $guide->display_node( id => 'RecentChanges' );