MePrintsInstall

From EPrints Documentation
Revision as of 11:46, 17 September 2009 by Tmb (talk | contribs) (Testing)
Jump to: navigation, search

For an overview of MePrints features, see MePrintsFeatures.

Installation (EPrints 3.1+)

Download the latest release to your local repository directory (eg. /opt/eprints3/archives/ARCHIVEID/).

Extract files:

tar xzvf meprints_xx.tgz

Install bin scripts

Edit the bin/generate_meprints file and check the include path on the first line. For example if you have installed EPrints in /var/lib/eprints3 change the line from:

#!/usr/bin/perl -w -I/opt/eprints3/perl_lib

to:

#!/usr/bin/perl -w -I/var/lib/eprints3/perl_lib

Install cgi scripts

Link the MePrints cgi scripts into the EPrints cgi directory:

ln -s /opt/eprints3/archives/ARCHIVEID/cgi/meprints/ /opt/eprints3/cgi/
ln -s /opt/eprints3/archives/ARCHIVEID/cgi/users/meprints/ /opt/eprints3/cgi/users/

Update database

Add the new MePrints user fields (defined in cfg/cfg.d/z_meprints.pl) to your repository database:

cd /opt/eprints3/
bin/epadmin update_database_structure ARCHIVEID --verbose

Patches

Apply the patchfile included with MePrints:

perl_lib/EPrints/DataSet.pm

MePrints introduces a new dataset containing all users with a public profile. To activate the new dataset:

Find the line:

my $INFO =

and replace with:

our $INFO =

Find the lines:

sub get_sql_dataset_ids
{
       return( qw/ import metafield cachemap message loginticket eprint user document saved_search subject history access request / );
}

and replace with:

sub get_sql_dataset_ids
{
       return( qw/ import metafield cachemap message loginticket eprint user document saved_search subject history access request public_profile_users / );
}

perl_lib/EPrints/Update/Views.pmm

Add support for MePrints views:

perl_lib/EPrints/Apache/Rewrite.pm

Add support for MePrints profile URLs (eg. http://my.repository.org/profiles/xyx):

Getting Started

To active MePrints, you will need to make some changes to your repository setup.

cfg/cfg.d/plugins.pl

To use the MePrints homepage instead instead of the default EPrints page, add the following lines to your cfg/cfg.d/plugins.pl configuration file:

$c->{plugin_alias_map}->{"Screen::User::View"} = "Screen::User::Homepage";
$c->{plugin_alias_map}->{"Screen::User::Homepage"} = undef;

cfg/cfg.d/user_fields_automatic.pl

To update the MePrints profile page automatically when a user changes his or her profile information, add the following lines to your cfg/cfg.d/user_fields_automatic.pl configuration file:

cfg/apachevhost.conf

To activate the MePrints profile pages, add the following lines to your cfg/apachevhost.conf configuration file:

<Directory "/opt/meprints_test/archives/meprints/user_profiles">
  SetHandler perl-script
  PerlResponseHandler EPrints::Apache::Template::handler
</Directory>

cfg/workflows/user/default.xml

To allow users to choose whether their profile is public or private add the following lines to your cfg/workflows/user/default.xml file:

 <stage name="default">
   ...
   <component type="Field::Multi">
     <title><epc:phrase ref="user_section_personal" /></title>
     ...
   </component>
   <component type="Field::Multi">
     <title><epc:phrase ref="user_section_meprints" /></title>
     <field ref="profile_visibility" required="yes"/>
   </component>

cfg/citations/user/default.xml

To replace the default EPrints user citation with the MePrints thumbnail citation:

cp cfg/citations/user/default_with_thumbnail.xml cfg/citations/user/default.xml

Note: if you have already made changes to the default citation, you will want to examine both files and merge the MePrints changes into default.xml

Testing

After applying all the changes above, restart Apache to activate MePrints.

Homepage

Update profile

Upload photo

Widgets

Profile page

http://repositoryurl.com/cgi/meprints/profile?userid=1

User views

Run:

bin/generate_views ARCHIVEID --generate menus

Check http://my.repository.org/views/ - you should see 2 extra views. You may want to link these into your template.

User search

Troubleshooting