Difference between revisions of "Customizing RSS Output"

From EPrints Documentation
Jump to: navigation, search
Line 1: Line 1:
 
How to customize RSS output to show an institution's or person's last n publications:
 
How to customize RSS output to show an institution's or person's last n publications:
  
1. Edit <tt>archives/<archive_id>/cfg/ArchiveConfig.pm</tt>'s "Latest_tool Configuration" section to read:
+
1. Edit <tt>/opt/eprints2/archives/<archive_id>/cfg/<b>ArchiveConfig.pm</b></tt>'s "Latest_tool Configuration" section to read:
  
 
  $c->{latest_tool_modes} = {
 
  $c->{latest_tool_modes} = {
Line 23: Line 23:
 
  };
 
  };
  
2. Alter <tt>cgi/latest_tool</tt> (starting from line 45) to read:
+
2. Alter <tt>/opt/eprints2/cgi/<b>latest_tool</b></tt> (starting from line 45) to read:
  
 
  if( defined $conf )
 
  if( defined $conf )
Line 43: Line 43:
 
  $class.= "_".$mode;
 
  $class.= "_".$mode;
 
  }
 
  }
 +
...
  
 
3. Restart Apache.
 
3. Restart Apache.
 +
  
 
Your customized RSS feeds will be located at
 
Your customized RSS feeds will be located at
  
http://<base_url>/perl/latest_tool?mode=person&value=<person_id>&output=rss
+
*<nowiki>http://<base_url>/perl/latest_tool?mode=person&value=<person_id>&output=rss</nowiki>
and
+
*<nowiki>http://<base_url>/perl/latest_tool?mode=institution&value=<institution_id>&output=rss</nowiki>
http://<base_url>/perl/latest_tool?mode=institution&value=<institution_id>&output=rss
 

Revision as of 15:48, 4 August 2006

How to customize RSS output to show an institution's or person's last n publications:

1. Edit /opt/eprints2/archives/<archive_id>/cfg/ArchiveConfig.pm's "Latest_tool Configuration" section to read:

$c->{latest_tool_modes} = {
	default => { citation => "neat" },
	person => {
		citation => "neat",
		filters => [
			{ meta_fields => [ "creators.id", "editors.id" ], value => "" }
		],
		allow_user_value => 1,
		max => 10
	},
	institution => {
		citation => "neat",
		filters => [
			{ meta_fields => [ "institutions" ], value => "" }
		],
		allow_user_value => 1,
		max => 20
	}
};

2. Alter /opt/eprints2/cgi/latest_tool (starting from line 45) to read:

if( defined $conf )
{
	my $allow_user_value = 0;
	foreach my $key (keys %{$conf} )
	{
		$citation = $conf->{"citation"} if( $key eq "citation" );
		$filters = $conf->{"filters"} if( $key eq "filters" );
		$allow_user_value = $conf->{"allow_user_value"} if( $key eq "allow_user_value" );
		$max = $conf->{"max"} if( $key eq "max" );
	}
	if ( $allow_user_value ) {
		my $value = $session->param( "value" );
		if ( defined $value ) {
			@$filters[0]->{"value"} = $value;
		}
	}
	$class.= "_".$mode;
}
...

3. Restart Apache.


Your customized RSS feeds will be located at

  • http://<base_url>/perl/latest_tool?mode=person&value=<person_id>&output=rss
  • http://<base_url>/perl/latest_tool?mode=institution&value=<institution_id>&output=rss