Ben Trott and I are planning to do XML::Atom and XML::Feed hackathon mid-week of next week to clear up the tasks that have been tagged "ToDo" for a long time.
If you have some requests or local hack to these modules, let me know to figure out if we can incorpolate the changes during the hackathon.
I filed this bug report for XML::Feed. However, it is possible it may work by converting the feed from Atom to RSS using the following function:
sub myconvert
{
my $feed = shift;
if (
(($output_format eq "RSS") &&
($feed->format() eq "Atom")
)
||
(($output_format eq "Atom") &&
($feed->format() ne "Atom")
)
)
{
return $feed->convert($output_format);
}
else
{
return $feed;
}
}
If this is the case, please close this bug. However, it may be a nice thing if XML::Feed will seamlessly convert feeds from Atom to RSS and back.
Some XML::Feed tests now fail due to an XML::RSS regression. The second link contains a patch against XML::RSS that wasn't applied to the repository or has been released as a new version. Please apply it before installing the new XML::RSS so your tests won't fail.
As you may know, I've been helping ABH with XML::RSS, and would be happy to see some work on the XML::Atom and XML::Feed fronts.
Re:My XML::Atom Baggage
miyagawa on 2006-12-14T18:52:34
Yes, we realize the test failure with the recent XML::RSS releases. Thanks!
XML::Feed has a lot of dependencies. They all look like they're getting used, but anything to reduce the number of required modules would be swell. I provide this list in case there's anything that you see that is surprising: "Oh, we don't need to include THAT."
Here's a list of unique dependencies:
XML::Feed
Class::ErrorHandler
DateTime
DateTime::Locale
Module::Build
Params::Validate
DateTime::TimeZone
Class::Singleton
Module::Build
Params::Validate
Params::Validate
DateTime::Format::Mail
DateTime
DateTime::Locale
Module::Build
Params::Validate
DateTime::TimeZone
Class::Singleton
Module::Build
Params::Validate
Params::Validate
Module::Build
Params::Validate
DateTime::Format::W3CDTF
DateTime
DateTime::Locale
Module::Build
Params::Validate
DateTime::TimeZone
Class::Singleton
Module::Build
Params::Validate
Params::Validate
Feed::Find
Class::ErrorHandler
HTML::Parser
HTML::Tagset
LWP
Compress::Zlib
Compress::Raw::Zlib
IO::Compress::Base
IO::Compress::Base::Common
IO::Compress::Gzip
Compress::Raw::Zlib
IO::Compress::Base
IO::Uncompress::Base
IO::Compress::Gzip::Constants
Compress::Raw::Zlib
IO::Compress::Base
IO::Uncompress::Base
IO::Uncompress::Base
IO::Uncompress::Gunzip
Compress::Raw::Zlib
IO::Compress::Base
IO::Uncompress::Base
HTML::Parser
HTML::Tagset
URI
URI
HTML::TokeParser
HTML::Tagset
LWP
Compress::Zlib
Compress::Raw::Zlib
IO::Compress::Base
IO::Compress::Base::Common
IO::Compress::Gzip
Compress::Raw::Zlib
IO::Compress::Base
IO::Uncompress::Base
IO::Compress::Gzip::Constants
Compress::Raw::Zlib
IO::Compress::Base
IO::Uncompress::Base
IO::Uncompress::Base
IO::Uncompress::Gunzip
Compress::Raw::Zlib
IO::Compress::Base
IO::Uncompress::Base
HTML::Parser
HTML::Tagset
URI
URI::Fetch
Class::ErrorHandler
LWP
Compress::Zlib
Compress::Raw::Zlib
IO::Compress::Base
IO::Compress::Base::Common
IO::Compress::Gzip
Compress::Raw::Zlib
IO::Compress::Base
IO::Uncompress::Base
IO::Compress::Gzip::Constants
Compress::Raw::Zlib
IO::Compress::Base
IO::Uncompress::Base
IO::Uncompress::Base
IO::Uncompress::Gunzip
Compress::Raw::Zlib
IO::Compress::Base
IO::Uncompress::Base
HTML::Parser
HTML::Tagset
URI
URI
XML::Atom
Class::Data::Inheritable
URI
XML::RSS
DateTime
DateTime::Locale
Module::Build
Params::Validate
DateTime::TimeZone
Class::Singleton
Module::Build
Params::Validate
Params::Validate
DateTime::Format::Mail
DateTime
DateTime::Locale
Module::Build
Params::Validate
DateTime::TimeZone
Class::Singleton
Module::Build
Params::Validate
Params::Validate
Module::Build
Params::Validate
DateTime::Format::W3CDTF
DateTime
DateTime::Locale
Module::Build
Params::Validate
DateTime::TimeZone
Class::Singleton
Module::Build
Params::Validate
Params::Validate
HTML::Entities
HTML::Tagset
Test::Manifest
XML::Parser
Re:Dependencies
miyagawa on 2006-12-14T18:53:46
I'm currently thinking of separating the distribution to 3 distros: XML::Atom::Feed (parser), XML::Atom::Client and XML::Atom::Server. That way you can reduce # of deps to XML::Atom::Feed hence it doesn't require crypto and authentication related modules.Re:Dependencies
DAxelrod on 2006-12-14T22:23:55
What tool did you use to generate that tree? It's pretty.Re:Dependencies
petdance on 2006-12-14T22:27:01
I was hoping someone would ask.:-) Module::Depends::Tree: http://search.cpan.org/dist/Module-Depends-Tree/
Re:My requests...
miyagawa on 2006-12-23T11:07:04
Ben is working on SAX based parser to save memory with Atom based upload on Vox, and he says "it's almost done."
We're afraid of breaking the existent apps that rely on XML::Atom internal use of XML::LibXML (which is bad, but I know a couple of examples), so we need to figure out how to make it backward compatible.Re:My requests...
tima on 2006-12-23T15:50:55
Understood. I'm always open to collaborating and finding ways to maintain backwards compatability.