README
1NAME
2 WWW::SourceForge - Interfaces to the SourceForge data API
3
4SYNOPSIS
5 The WWW::SourceForge family of modules are intended to implement the API
6 documented at https://sourceforge.net/p/forge/documentation/API/
7
8 While this isn't an "official" SourceForge project, I am a SourceForge
9 employee, and maintain these as part of my job. I also use these modules
10 as part of my daily tasks, and so I have an interest in making them work
11 well.
12
13 These are part of a larger package of tools
14 (https:/sourceforge.net/projects/sfprojecttools/) including
15 greasemonkey scripts, and hopefully some day other implementations of
16 the API (PHP and Python would be a winner).
17
18USAGE
19 WWW::SourceForge::User
20 Usage:
21
22 my $user = new WWW::SourceForge::User( id => 1234 );
23 my $user2 = new WWW::SourceForge::User( username => 'rbowen' );
24 my @projects = $user->projects(); # WWW::SourceForge::Project objects
25
26 WWW::SourceForge::Project
27 Usage:
28
29 my $proj = new WWW::SourceForge::Project( id => 1234 );
30 my $proj2 = new WWW::SourceForge::Project( name => 'flightics' );
31
32 my @admins = $proj->admins(); # WWW::SourceForge::User objects
33 my @developers = $proj->developers(); # Ditto
34
35 # WARNING: This method is probably going to change in the future to
36 # return more detailed download data. Check docs frequently.
37 my $download_count = $proj->downloads(
38 start_date => '2012-07-01',
39 end_date => '2012-07-25'
40 );
41
42 WWW::SourceForge::Release (future?)
43AUTHOR
44 Rich Bowen
45 CPAN ID: RBOW
46 SourceForge Community Geek Hacker
47 rbowen@apache.org
48
49SOURCE
50 The source is in Git on SourceForge:
51 https://sourceforge.net/p/sfprojecttools/code/ Patches make me happy.
52
53SUPPORT
54 https://sourceforge.net/p/sfprojecttools/tickets/
55
56HISTORY
57 A WWW::SourceForge module was originally developed by Kang-min Liu
58 (gugod@gugod.org), which utilized WWW::Mechanize to retrieve project
59 information from SourceForge project pages. With the many changes to the
60 SourceForge website, that module gradually fell out of usefulness. With
61 the new(ish) SourceForge data API, we have a means of accessing this
62 data without having to parse HTML. But many thanks to Kang-min Liu for
63 his early effort, and for his cooperation with me.
64
65COPYRIGHT
66 This program is free software; you can redistribute it and/or modify it
67 under the same terms as Perl itself.
68
69 The full text of the license can be found in the LICENSE file included
70 with this module.
71
72
README.pod
1=head1 NAME
2
3WWW::SourceForge - Interfaces to the SourceForge data API
4
5=head1 SYNOPSIS
6
7The WWW::SourceForge family of modules are intended to implement the API
8documented at https://sourceforge.net/p/forge/documentation/API/
9
10While this isn't an "official" SourceForge project, I am a SourceForge
11employee, and maintain these as part of my job. I also use these modules as part
12of my daily tasks, and so I have an interest in making them work well.
13
14These are part of a larger package of tools
15(https://sourceforge.net/projects/sfprojecttools/) including
16greasemonkey scripts, and hopefully some day other implementations of
17the API (PHP and Python would be a winner).
18
19=head1 USAGE
20
21=head2 WWW::SourceForge::User
22
23 Usage:
24
25 my $user = new WWW::SourceForge::User( id => 1234 );
26 my $user2 = new WWW::SourceForge::User( username => 'rbowen' );
27 my @projects = $user->projects(); # WWW::SourceForge::Project objects
28
29=head2 WWW::SourceForge::Project
30
31 Usage:
32
33 my $proj = new WWW::SourceForge::Project( id => 1234 );
34 my $proj2 = new WWW::SourceForge::Project( name => 'flightics' );
35
36 my @admins = $proj->admins(); # WWW::SourceForge::User objects
37 my @developers = $proj->developers(); # Ditto
38
39 # WARNING: This method is probably going to change in the future to
40 # return more detailed download data. Check docs frequently.
41 my $download_count = $proj->downloads(
42 start_date => '2012-07-01',
43 end_date => '2012-07-25'
44 );
45
46 # WARNING: This method is probably going to change in the future so
47 # that we can return actual File or Release objects. Still to be
48 # decided. Check docs frequently.
49 my @files = $proj->files();
50 my $date_string = $proj->latest_release();
51
52=head2 WWW::SourceForge::Release (future?)
53
54=head1 AUTHOR
55
56 Rich Bowen
57 CPAN ID: RBOW
58 SourceForge Community Manager
59 rbowen@apache.org
60
61=head1 SOURCE
62
63The source is in Git on SourceForge: https://sourceforge.net/p/sfprojecttools/code/
64Patches make me happy.
65
66=head1 SUPPORT
67
68https://sourceforge.net/p/sfprojecttools/tickets/
69
70=head1 HISTORY
71
72A WWW::SourceForge module was originally developed by Kang-min Liu
73(gugod@gugod.org), which utilized WWW::Mechanize to retrieve project
74information from SourceForge project pages. With the many changes to the
75SourceForge website, that module gradually fell out of usefulness. With
76the new(ish) SourceForge data API, we have a means of accessing this
77data without having to parse HTML. But many thanks to Kang-min Liu for
78his early effort, and for his cooperation with me.
79
80=head1 COPYRIGHT
81
82This program is free software; you can redistribute
83it and/or modify it under the same terms as Perl itself.
84
85The full text of the license can be found in the
86LICENSE file included with this module.
87
88=cut
89