Difference between revisions of "Adding new views"

From EPrints Documentation
Jump to: navigation, search
 
Line 28: Line 28:
 
* Those familiar with Perl will recognise the browse_views setting as a reference to an array of hash references.
 
* Those familiar with Perl will recognise the browse_views setting as a reference to an array of hash references.
  
'''Example 1''' Browse by organisational structure
+
'''Example 1 Browse by organisational structure'''
  
 
By default, EPrints has a ''divisions'' metadata field which allows authors to associate their deposits with the divisions (units, faculties, schools, departments, institute, centre..) that were involved in producing their item (for example, the author's department, and the departments of his co-authors). To allow visitors to the repository to browse the content by division, add the following definition to the browse_views setting:
 
By default, EPrints has a ''divisions'' metadata field which allows authors to associate their deposits with the divisions (units, faculties, schools, departments, institute, centre..) that were involved in producing their item (for example, the author's department, and the departments of his co-authors). To allow visitors to the repository to browse the content by division, add the following definition to the browse_views setting:
Line 49: Line 49:
 
  ];
 
  ];
  
'''Example 2''' Browse by type
+
'''Example 2 Browse by type'''
  
 
Every deposit in EPrints has a type (article, book, thesis...). To allow visitors to browse your repository content by type, add the following definition to the browse_views setting:
 
Every deposit in EPrints has a type (article, book, thesis...). To allow visitors to browse your repository content by type, add the following definition to the browse_views setting:
  
 
  {
 
  {
         id => "type",
+
         id => "types",
 
         fields => "type",
 
         fields => "type",
 
         order => "-date/title",
 
         order => "-date/title",
Line 60: Line 60:
 
  },
 
  },
  
After adding a new view definition, save the file and reload the EPrints configuration:
+
After adding a new view definition, save the file generate the new view pages:
 +
 
 +
bin/generate_views ARCHIVEID --verbose
 +
 
 +
(this will also re-generate any existing views defined in the views configuration file).
 +
 
 +
====Testing new views====
 +
 
  
bin/epadmin reload ARCHIVEID
 
  
Generate the new view pages:
+
["viewname_eprint_divisions" not defined]
  
  bin/generate_views ARCHIVEID --verbose
+
Edit the language-specific phrases file for view names:
 +
 
 +
  /opt/eprints3/archives/devel/cfg/lang/en/phrases/views.xml
 +
 
 +
Add an appropriate phrase which describes your new view, for example:
  
(this will also re-generate any existing views defined in the views configuration file).
+
<epp:phrase id="viewname_eprint_divisions">Division</epp:phrase>
  
 
===Complex views===
 
===Complex views===

Revision as of 17:19, 1 February 2007

Browse views provide a way for visitors to your site to discover relevant content without a specific item in mind (for example, browsing all the content associated with a particular topic). Visitors arriving directly at the page for a specific item in the repository (for example, via a search engine) may also use the views to discover other related content. There are two default views in EPrints - By Year and By Subject. This guide describes how to add additional views to your repository.

Adding a new view

This section describes how to quickly add a new view to your repository.

Open the views configuration file in a text editor:

/opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/views.pl

Find the browse_views configuration setting:

$c->{browse_views} = [
       {
               id => "year",
               ...
       },
       {
               id => "subjects",
               ...
       },
];

Each view is defined using a special (Perl*) syntax: the view definition consists of a pair of curly braces (note the comma after each closing brace) enclosing a list of property/value pairs (note the comma after each line).

  • Those familiar with Perl will recognise the browse_views setting as a reference to an array of hash references.

Example 1 Browse by organisational structure

By default, EPrints has a divisions metadata field which allows authors to associate their deposits with the divisions (units, faculties, schools, departments, institute, centre..) that were involved in producing their item (for example, the author's department, and the departments of his co-authors). To allow visitors to the repository to browse the content by division, add the following definition to the browse_views setting:

$c->{browse_views} = [
       {
               id => "year",
               ...
       },
       {
               id => "subjects",
               ...
       },
       {
               id => "divisions",
               fields => "divisions",
               order => "-date/title",
               hideempty => 1,
       },
];

Example 2 Browse by type

Every deposit in EPrints has a type (article, book, thesis...). To allow visitors to browse your repository content by type, add the following definition to the browse_views setting:

{
       id => "types",
       fields => "type",
       order => "-date/title",
       hideempty => 1,
},

After adding a new view definition, save the file generate the new view pages:

bin/generate_views ARCHIVEID --verbose

(this will also re-generate any existing views defined in the views configuration file).

Testing new views

["viewname_eprint_divisions" not defined]

Edit the language-specific phrases file for view names:

/opt/eprints3/archives/devel/cfg/lang/en/phrases/views.xml

Add an appropriate phrase which describes your new view, for example:

<epp:phrase id="viewname_eprint_divisions">Division</epp:phrase>

Complex views

Division->Author

Journal->ISSN


Linking items back to views

Views as collections

discover related content

There are two ways in which visitors to your repository may discover relevant content - searching

Visitors to your repository can take advantage