Changeset 769


Ignore:
Timestamp:
Apr 20, 2006, 10:42:05 AM (15 years ago)
Author:
Dominic Hargreaves
Message:

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

Location:
trunk
Files:
6 edited

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' );
Note: See TracChangeset for help on using the changeset viewer.