https://wiki.eprints.org/w/api.php?action=feedcontributions&user=Dct05r&feedformat=atomEPrints Documentation - User contributions [en-gb]2024-03-28T18:32:18ZUser contributionsMediaWiki 1.31.8https://wiki.eprints.org/w/index.php?title=Bazaar_Edinburgh_2012&diff=10623Bazaar Edinburgh 20122012-08-03T14:08:54Z<p>Dct05r: </p>
<hr />
<div>[[Category:EPrints_Bazaar]]<br />
<br />
This page offers an agenda for the 3 day Bazaar development event in Edinburgh 1-3 August 2012.<br />
<br />
Location: EH9 1PR<br />
<br />
Over the course of the days the aim is to test, document and better represent our selves in the bazaar store where things are already a little messy (slap wrists people). Through testing of packages we need to improve descriptions, icons and compliment the packages with screen shots to help our users. <br />
<br />
=Day 1 - Wednesday 1st August 2012=<br />
<br />
* Bazaar <br />
** Package Improvement, Config, Dependancies, Documentation, Screenshot<br />
*** Amazon S3<br />
*** Green Spring<br />
*** Batch Edit<br />
*** Icon Builder<br />
<br />
<br />
** Dependencies Ideas<br />
** Bazaar Store Improvements - Seal of Approval, Screenshots, Tags, Display of Dependancies Field<br />
<br />
<br />
* Core<br />
** Loosing Data on Disable/Uninstall<br />
<br />
===Green Spring===<br />
* Capture screenshot<br />
<br />
===Batch Edit===<br />
* Installer fails to detect a lack of external dependencies: Spreadsheet::ParseExcel, Spreadsheet::WriteExcel<br />
* Install is a silent fail<br />
* Uninstall fails with a misleading error ("Repository configuration not reloaded. Errors in configuration files" rather than not actually active)<br />
** The fix is to edit the config, and save. This allows you to uninstall.<br />
* The export function appears to work properly, however, I cannot even find the import option.<br />
* In all honesty, I don't think this plugin can be described as "functional".<br />
<br />
===Icon Builder===<br />
* Installs without issue<br />
* must navigate to cgi/icon_builder (this should probably be a screen plugin with a link in key_tools or the admin panels)<br />
** FIXED - Added to System Tools Panel<br />
* you can upload a jpg and modify the baground colour.<br />
* when you hit export the file it returns is not a vaild jpeg<br />
** Cos it's a PNG<br />
<br />
===AmazonS3===<br />
* Installed <br />
* updated package to do dependancy checking and output appropriate error messages<br />
* outputs help to configure after installation <br />
* created an example storeage policy<br />
* tested fully<br />
* dave t and dave m took screen shots<br />
<br />
===OREExport===<br />
* Installed plugin<br />
* Took screen shots<br />
* Export works <br />
* Import is broken and needs looking into, this is more a problem with the upstream code than bazaar package.<br />
<br />
===SNEEP===<br />
* Installed <br />
* works<br />
* Screenshots<br />
<br />
===Schedule===<br />
* 11:30 - A Simple Start, take the easy packages and improve and screen shot them.<br />
* 12:45 - Lunch<br />
* 14:00 - Complex Bazaar Package Testing<br />
The idea here is to test the more complex packages (those that require dependencies outside of those needed by eprints) and work out how to best support our "one click" users in installing these packages. Additionally we should looks for packages that need config and make sure they have a "config" link!. These packages include:<br />
** Coversheets<br />
** Preservation Toolkit<br />
** Tweepository<br />
** Open Office Toolkit<br />
<br />
=Day 2 - Thursday 2nd August 2012=<br />
<br />
* 09:30 - Bazaar Store Upgrades & Package Testing<br />
Put all the stuff from yesterday in the store. <br />
** Screenshots <br />
** Dependencies<br />
** Descriptions <br />
** Icons<br />
<br />
* Bazaar upgraded to 3.3.10<br />
* FIXME trunk has a patch for screenshot upload<br />
* FIXME trunk has a patch for a tags text box<br />
<br />
===Collections===<br />
* Package initially failed to operate correctly on a vanilla install.<br />
* Fixed: The CollectionSelect InputForm component was using a deprecated function to get a list of all the users archive items (and failing).<br />
* Fixed: The CollectionSelect InputForm component was not filtering out existing collections (nest collections are currently unsupported). <br />
* Fixed: The ajax calls to the collectionselect cgi script were using inconsistent query parameters and were failing in certain cases.<br />
* Fixed: added some basic error messages to the collectionselect cgi script.<br />
<br />
===Bookmarks===<br />
* Bookmarks are now rendered using a citation.<br />
<br />
===Bazaar Link===<br />
* New Icon<br />
<br />
===Blackout===<br />
* New Icon<br />
<br />
===Simple Publications===<br />
* New Icon<br />
<br />
===Edshare Core Plugin===<br />
* New Icon<br />
<br />
===Edshare Theme===<br />
* New Icon<br />
<br />
===Spanish Language Pack===<br />
* New Bazaar Package based upon http://files.eprints.org/724/<br />
<br />
===Ukrainian Language Pack===<br />
* New Bazaar Package based upon http://files.eprints.org/734/<br />
<br />
===EPrints Flag Pack===<br />
* New Bazaar Package containing a set of flag icons for use with language packs. <br />
<br />
===Documentation===<br />
* Better documentation for EPrints search in DataSet.pm (that will propagate to wiki)<br />
* Updated "My First Bazaar Package Page" to reflect newer ways of working<br />
<br />
<br />
<br />
<br />
* 11:00 - Languages Packs <br />
Take the language packs from files and put them in the store. <br />
* 12:30 - Lunch<br />
* 13:30 - Package Fest<br />
<br />
=Day 3 - Friday 3rd August 2012=<br />
* Package Fest<br />
<br />
===EXIF Import===<br />
* Captured screenshots<br />
* Plugin description could be a bit less brief<br />
* Fixed plugin to depend on exiftool<br />
* Fixed plugin to allow configuration<br />
* Fixed plugin to check existence of exiftool. <br />
<br />
===Open Office Toolkit===<br />
* Updated to work with libre office<br />
* TODO Work out how to handle multiple spawned soffice.bin processes on ubuntu.<br />
<br />
===Wordle Exporter===<br />
* Finished first version and published in the bazaar<br />
* Demonstrated package building to prestigious audience of directors<br />
<br />
===Documentation===<br />
* Added http://wiki.eprints.org/w/Handling_Dependencies outlining how to Handle Dependencies in Bazaar Packages, many package now have example.<br />
* Added http://wiki.eprints.org/w/Configuration_Buttons_For_Bazaar_Pacakges outlining how to add the magic "configure" button to Installed Bazaar Packages<br />
<br />
[[File:DSC_0020.JPG|thumb]]<br />
<br />
=Attendees=<br />
<br />
* Les Carr - University of Southampton<br />
* David Tarrant - University of Southampton<br />
* Tim Brody - University of Southampton<br />
* Patrick McSweeney - University of Southampton<br />
* Matthew Taylor - University of Southampton<br />
* Adam Field - University of Southampton<br />
<br />
Please add your name ...<br />
<br />
* Ian Stuart - EDINA<br />
* David McElroy - University of Glasgow<br />
* Dawid Pachla - University of Glasgow<br />
* Chris Yocum - EDINA<br />
<br />
=Packages of Interest=<br />
<br />
DON'T TOUCH: Shelves, Coverpage, REF, eNova, Kultivate</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Configuration_Buttons_For_Bazaar_Packages&diff=10622Configuration Buttons For Bazaar Packages2012-08-03T14:06:39Z<p>Dct05r: Bazaar Configuration Buttons</p>
<hr />
<div>In order to better prompt users to configure Bazaar packages you can add a configure button to the EPrints Bazaar Store on the Installed Page. <br />
<br />
An example of this can be found in the AmazonS3 package. <br />
<br />
In order to add a configure button you can add a configure method to your EPMC screen as follows:<br />
<br />
=Step 1 - Allow Configuration=<br />
<br />
In the package initialisation you need to add "configure" to the "actions" declaration, e.g. <br />
<br />
$self->{actions} = [qw( enable disable configure )];<br />
<br />
The respective "allow configuration" method also has to be defined. <br />
<br />
sub allow_configure { shift->can_be_viewed( @_ ) }<br />
<br />
=Step 2 - Configure configuration=<br />
<br />
This is the "configure' method, and can be included such that enable and disable methods can be used in conjunction with a re-direct to a plain text (or perl) config file that can be edited using the normal editor. <br />
<br />
Again this example is from exif_tool and here you can change cfg.d/exif_import.pl to the path to your config file you wish to allow users to edit. <br />
<br />
<br />
sub action_configure<br />
{<br />
my( $self ) = @_;<br />
<br />
my $epm = $self->{processor}->{dataobj};<br />
my $epmid = $epm->id;<br />
<br />
foreach my $file ($epm->installed_files)<br />
{<br />
my $filename = $file->value( "filename" );<br />
next if $filename !~ m#^epm/$epmid/cfg/cfg\.d/(.*)#;<br />
my $url = $self->{repository}->current_url( host => 1 );<br />
$url->query_form(<br />
screen => "Admin::Config::View::Perl",<br />
configfile => "cfg.d/exif_import.pl",<br />
);<br />
$self->{repository}->redirect( $url );<br />
exit( 0 );<br />
}<br />
<br />
$self->{processor}->{screenid} = "Admin::EPM";<br />
<br />
$self->{processor}->add_message( "error", $self->html_phrase( "missing" ) );<br />
}<br />
<br />
<br />
[[Category:EPrints_Bazaar]]</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Bazaar_Edinburgh_2012&diff=10621Bazaar Edinburgh 20122012-08-03T13:53:43Z<p>Dct05r: /* Day 3 - Friday 3rd August 2012 */</p>
<hr />
<div>[[Category:EPrints_Bazaar]]<br />
<br />
This page offers an agenda for the 3 day Bazaar development event in Edinburgh 1-3 August 2012.<br />
<br />
Location: EH9 1PR<br />
<br />
Over the course of the days the aim is to test, document and better represent our selves in the bazaar store where things are already a little messy (slap wrists people). Through testing of packages we need to improve descriptions, icons and compliment the packages with screen shots to help our users. <br />
<br />
=Day 1 - Wednesday 1st August 2012=<br />
<br />
* Bazaar <br />
** Package Improvement, Config, Dependancies, Documentation, Screenshot<br />
*** Amazon S3<br />
*** Green Spring<br />
*** Batch Edit<br />
*** Icon Builder<br />
<br />
<br />
** Dependencies Ideas<br />
** Bazaar Store Improvements - Seal of Approval, Screenshots, Tags, Display of Dependancies Field<br />
<br />
<br />
* Core<br />
** Loosing Data on Disable/Uninstall<br />
<br />
===Green Spring===<br />
* Capture screenshot<br />
<br />
===Batch Edit===<br />
* Installer fails to detect a lack of external dependencies: Spreadsheet::ParseExcel, Spreadsheet::WriteExcel<br />
* Install is a silent fail<br />
* Uninstall fails with a misleading error ("Repository configuration not reloaded. Errors in configuration files" rather than not actually active)<br />
** The fix is to edit the config, and save. This allows you to uninstall.<br />
* The export function appears to work properly, however, I cannot even find the import option.<br />
* In all honesty, I don't think this plugin can be described as "functional".<br />
<br />
===Icon Builder===<br />
* Installs without issue<br />
* must navigate to cgi/icon_builder (this should probably be a screen plugin with a link in key_tools or the admin panels)<br />
** FIXED - Added to System Tools Panel<br />
* you can upload a jpg and modify the baground colour.<br />
* when you hit export the file it returns is not a vaild jpeg<br />
** Cos it's a PNG<br />
<br />
===AmazonS3===<br />
* Installed <br />
* updated package to do dependancy checking and output appropriate error messages<br />
* outputs help to configure after installation <br />
* created an example storeage policy<br />
* tested fully<br />
* dave t and dave m took screen shots<br />
<br />
===OREExport===<br />
* Installed plugin<br />
* Took screen shots<br />
* Export works <br />
* Import is broken and needs looking into, this is more a problem with the upstream code than bazaar package.<br />
<br />
===SNEEP===<br />
* Installed <br />
* works<br />
* Screenshots<br />
<br />
===Schedule===<br />
* 11:30 - A Simple Start, take the easy packages and improve and screen shot them.<br />
* 12:45 - Lunch<br />
* 14:00 - Complex Bazaar Package Testing<br />
The idea here is to test the more complex packages (those that require dependencies outside of those needed by eprints) and work out how to best support our "one click" users in installing these packages. Additionally we should looks for packages that need config and make sure they have a "config" link!. These packages include:<br />
** Coversheets<br />
** Preservation Toolkit<br />
** Tweepository<br />
** Open Office Toolkit<br />
<br />
=Day 2 - Thursday 2nd August 2012=<br />
<br />
* 09:30 - Bazaar Store Upgrades & Package Testing<br />
Put all the stuff from yesterday in the store. <br />
** Screenshots <br />
** Dependencies<br />
** Descriptions <br />
** Icons<br />
<br />
* Bazaar upgraded to 3.3.10<br />
* FIXME trunk has a patch for screenshot upload<br />
* FIXME trunk has a patch for a tags text box<br />
<br />
===Collections===<br />
* Package initially failed to operate correctly on a vanilla install.<br />
* Fixed: The CollectionSelect InputForm component was using a deprecated function to get a list of all the users archive items (and failing).<br />
* Fixed: The CollectionSelect InputForm component was not filtering out existing collections (nest collections are currently unsupported). <br />
* Fixed: The ajax calls to the collectionselect cgi script were using inconsistent query parameters and were failing in certain cases.<br />
* Fixed: added some basic error messages to the collectionselect cgi script.<br />
<br />
===Bookmarks===<br />
* Bookmarks are now rendered using a citation.<br />
<br />
===Bazaar Link===<br />
* New Icon<br />
<br />
===Blackout===<br />
* New Icon<br />
<br />
===Simple Publications===<br />
* New Icon<br />
<br />
===Edshare Core Plugin===<br />
* New Icon<br />
<br />
===Edshare Theme===<br />
* New Icon<br />
<br />
===Spanish Language Pack===<br />
* New Bazaar Package based upon http://files.eprints.org/724/<br />
<br />
===Ukrainian Language Pack===<br />
* New Bazaar Package based upon http://files.eprints.org/734/<br />
<br />
===EPrints Flag Pack===<br />
* New Bazaar Package containing a set of flag icons for use with language packs. <br />
<br />
===Documentation===<br />
* Better documentation for EPrints search in DataSet.pm (that will propagate to wiki)<br />
* Updated "My First Bazaar Package Page" to reflect newer ways of working<br />
<br />
<br />
<br />
<br />
* 11:00 - Languages Packs <br />
Take the language packs from files and put them in the store. <br />
* 12:30 - Lunch<br />
* 13:30 - Package Fest<br />
<br />
=Day 3 - Friday 3rd August 2012=<br />
* Package Fest<br />
<br />
===EXIF Import===<br />
* Captured screenshots<br />
* Plugin description could be a bit less brief<br />
* Fixed plugin to depend on exiftool<br />
* Fixed plugin to allow configuration<br />
* Fixed plugin to check existence of exiftool. <br />
<br />
===Open Office Toolkit===<br />
* Updated to work with libre office<br />
* TODO Work out how to handle multiple spawned soffice.bin processes on ubuntu.<br />
<br />
===Wordle Exporter===<br />
* Finished first version and published in the bazaar<br />
* Demonstrated package building to prestigious audience of directors<br />
<br />
===Documentation===<br />
* Added http://wiki.eprints.org/w/Handling_Dependencies outlining how to Handle Dependencies in Bazaar Packages, many package now have example.<br />
* <br />
<br />
[[File:DSC_0020.JPG|thumb]]<br />
<br />
=Attendees=<br />
<br />
* Les Carr - University of Southampton<br />
* David Tarrant - University of Southampton<br />
* Tim Brody - University of Southampton<br />
* Patrick McSweeney - University of Southampton<br />
* Matthew Taylor - University of Southampton<br />
* Adam Field - University of Southampton<br />
<br />
Please add your name ...<br />
<br />
* Ian Stuart - EDINA<br />
* David McElroy - University of Glasgow<br />
* Dawid Pachla - University of Glasgow<br />
* Chris Yocum - EDINA<br />
<br />
=Packages of Interest=<br />
<br />
DON'T TOUCH: Shelves, Coverpage, REF, eNova, Kultivate</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Handling_Dependencies&diff=10620Handling Dependencies2012-08-03T13:48:16Z<p>Dct05r: /* Rendering Helpful messages for users */</p>
<hr />
<div>This page outlines several methods to check dependancies on Bazaar package. <br />
<br />
All Dependency checking is done with a packages EPMC screen, so you will need to configure a basic EPMC screen for your plugin.<br />
<br />
=Checking Perl Library Dependencies=<br />
<br />
The following block of code checks for perl libraries, in this case Digest::HMAC_SHA1.<br />
<br />
If any of the dependancies are missing we can handle these later in render_messages.<br />
<br />
This piece of code is designed to exist in the enable method of an EPMC screen. <br />
<br />
my @prereqs = qw/ Digest::HMAC_SHA1 /;<br />
<br />
my $evalstring;<br />
foreach my $l (@prereqs)<br />
{<br />
$evalstring .= "use $l;\n";<br />
}<br />
<br />
eval $evalstring;<br />
if (!$@)<br />
{<br />
$self->SUPER::action_enable( $skip_reload );<br />
}<br />
<br />
This example is from the AmazonS3 plugin. <br />
<br />
=Checking Binary Dependencies=<br />
<br />
Ideally users should be able to specify the paths to binary executables in a config file and your config file should list the most "default" location. <br />
<br />
e.g.<br />
<br />
$c->{"exif_import"}->{"exif_path"} = '/usr/bin/exiftool';<br />
<br />
The you can use the following code to check for the binary on the system. <br />
<br />
my $exiftool = $repo->get_repository->get_conf( "exif_import", "exif_path" );<br />
<br />
if (! (-e $exiftool) ) <br />
{<br />
#binary not found<br />
}<br />
<br />
=Providing persistant helpful messages for users=<br />
<br />
A "render_messages" method can be used to provide useful messages to the user about how they need to configure their package, e.g. what dependencies they need. <br />
<br />
This example comes from the exiftool import package. <br />
<br />
sub render_messages<br />
{<br />
my( $self ) = @_;<br />
<br />
my $repo = $self->{repository};<br />
my $xml = $repo->xml;<br />
<br />
my $frag = $xml->create_document_fragment;<br />
<br />
my $exiftool = $repo->get_repository->get_conf( "exif_import", "exif_path" );<br />
if ( -e $exiftool ) {<br />
} else {<br />
my $msg = $xml->create_document_fragment;<br />
<br />
$msg->appendChild($xml->create_text_node('exiftool not found on your system. You need to install exiftool and/or configure this plugin with the location of exiftool.'));<br />
<br />
$self->{processor}->add_message('message',$msg);<br />
<br />
$frag->appendChild( $repo->render_message( 'error', $msg ) );<br />
}<br />
<br />
return $frag;<br />
}<br />
<br />
<br />
[[Category:EPrints_Bazaar]]</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Handling_Dependencies&diff=10619Handling Dependencies2012-08-03T13:47:43Z<p>Dct05r: Handling Dependencies for Bazaar Packages</p>
<hr />
<div>This page outlines several methods to check dependancies on Bazaar package. <br />
<br />
All Dependency checking is done with a packages EPMC screen, so you will need to configure a basic EPMC screen for your plugin.<br />
<br />
=Checking Perl Library Dependencies=<br />
<br />
The following block of code checks for perl libraries, in this case Digest::HMAC_SHA1.<br />
<br />
If any of the dependancies are missing we can handle these later in render_messages.<br />
<br />
This piece of code is designed to exist in the enable method of an EPMC screen. <br />
<br />
my @prereqs = qw/ Digest::HMAC_SHA1 /;<br />
<br />
my $evalstring;<br />
foreach my $l (@prereqs)<br />
{<br />
$evalstring .= "use $l;\n";<br />
}<br />
<br />
eval $evalstring;<br />
if (!$@)<br />
{<br />
$self->SUPER::action_enable( $skip_reload );<br />
}<br />
<br />
This example is from the AmazonS3 plugin. <br />
<br />
=Checking Binary Dependencies=<br />
<br />
Ideally users should be able to specify the paths to binary executables in a config file and your config file should list the most "default" location. <br />
<br />
e.g.<br />
<br />
$c->{"exif_import"}->{"exif_path"} = '/usr/bin/exiftool';<br />
<br />
The you can use the following code to check for the binary on the system. <br />
<br />
my $exiftool = $repo->get_repository->get_conf( "exif_import", "exif_path" );<br />
<br />
if (! (-e $exiftool) ) <br />
{<br />
#binary not found<br />
}<br />
<br />
=Rendering Helpful messages for users=<br />
<br />
A "render_messages" method can be used to provide useful messages to the user about how they need to configure their package, e.g. what dependencies they need. <br />
<br />
This example comes from the exiftool import package. <br />
<br />
sub render_messages<br />
{<br />
my( $self ) = @_;<br />
<br />
my $repo = $self->{repository};<br />
my $xml = $repo->xml;<br />
<br />
my $frag = $xml->create_document_fragment;<br />
<br />
my $exiftool = $repo->get_repository->get_conf( "exif_import", "exif_path" );<br />
if ( -e $exiftool ) {<br />
} else {<br />
my $msg = $xml->create_document_fragment;<br />
<br />
$msg->appendChild($xml->create_text_node('exiftool not found on your system. You need to install exiftool and/or configure this plugin with the location of exiftool.'));<br />
<br />
$self->{processor}->add_message('message',$msg);<br />
<br />
$frag->appendChild( $repo->render_message( 'error', $msg ) );<br />
}<br />
<br />
return $frag;<br />
}<br />
<br />
<br />
[[Category:EPrints_Bazaar]]</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Bazaar_Edinburgh_2012&diff=10617Bazaar Edinburgh 20122012-08-03T13:14:53Z<p>Dct05r: </p>
<hr />
<div>[[Category:EPrints_Bazaar]]<br />
<br />
This page offers an agenda for the 3 day Bazaar development event in Edinburgh 1-3 August 2012.<br />
<br />
Location: EH9 1PR<br />
<br />
Over the course of the days the aim is to test, document and better represent our selves in the bazaar store where things are already a little messy (slap wrists people). Through testing of packages we need to improve descriptions, icons and compliment the packages with screen shots to help our users. <br />
<br />
=Day 1 - Wednesday 1st August 2012=<br />
<br />
* Bazaar <br />
** Package Improvement, Config, Dependancies, Documentation, Screenshot<br />
*** Amazon S3<br />
*** Green Spring<br />
*** Batch Edit<br />
*** Icon Builder<br />
<br />
<br />
** Dependencies Ideas<br />
** Bazaar Store Improvements - Seal of Approval, Screenshots, Tags, Display of Dependancies Field<br />
<br />
<br />
* Core<br />
** Loosing Data on Disable/Uninstall<br />
<br />
===Green Spring===<br />
* Capture screenshot<br />
<br />
===Batch Edit===<br />
* Installer fails to detect a lack of external dependencies: Spreadsheet::ParseExcel, Spreadsheet::WriteExcel<br />
* Install is a silent fail<br />
* Uninstall fails with a misleading error ("Repository configuration not reloaded. Errors in configuration files" rather than not actually active)<br />
** The fix is to edit the config, and save. This allows you to uninstall.<br />
* The export function appears to work properly, however, I cannot even find the import option.<br />
* In all honesty, I don't think this plugin can be described as "functional".<br />
<br />
===Icon Builder===<br />
* Installs without issue<br />
* must navigate to cgi/icon_builder (this should probably be a screen plugin with a link in key_tools or the admin panels)<br />
** FIXED - Added to System Tools Panel<br />
* you can upload a jpg and modify the baground colour.<br />
* when you hit export the file it returns is not a vaild jpeg<br />
** Cos it's a PNG<br />
<br />
===AmazonS3===<br />
* Installed <br />
* updated package to do dependancy checking and output appropriate error messages<br />
* outputs help to configure after installation <br />
* created an example storeage policy<br />
* tested fully<br />
* dave t and dave m took screen shots<br />
<br />
===OREExport===<br />
* Installed plugin<br />
* Took screen shots<br />
* Export works <br />
* Import is broken and needs looking into, this is more a problem with the upstream code than bazaar package.<br />
<br />
===SNEEP===<br />
* Installed <br />
* works<br />
* Screenshots<br />
<br />
===Schedule===<br />
* 11:30 - A Simple Start, take the easy packages and improve and screen shot them.<br />
* 12:45 - Lunch<br />
* 14:00 - Complex Bazaar Package Testing<br />
The idea here is to test the more complex packages (those that require dependencies outside of those needed by eprints) and work out how to best support our "one click" users in installing these packages. Additionally we should looks for packages that need config and make sure they have a "config" link!. These packages include:<br />
** Coversheets<br />
** Preservation Toolkit<br />
** Tweepository<br />
** Open Office Toolkit<br />
<br />
=Day 2 - Thursday 2nd August 2012=<br />
<br />
* 09:30 - Bazaar Store Upgrades & Package Testing<br />
Put all the stuff from yesterday in the store. <br />
** Screenshots <br />
** Dependencies<br />
** Descriptions <br />
** Icons<br />
<br />
* Bazaar upgraded to 3.3.10<br />
* FIXME trunk has a patch for screenshot upload<br />
* FIXME trunk has a patch for a tags text box<br />
<br />
===Collections===<br />
* Package initially failed to operate correctly on a vanilla install.<br />
* Fixed: The CollectionSelect InputForm component was using a deprecated function to get a list of all the users archive items (and failing).<br />
* Fixed: The CollectionSelect InputForm component was not filtering out existing collections (nest collections are currently unsupported). <br />
* Fixed: The ajax calls to the collectionselect cgi script were using inconsistent query parameters and were failing in certain cases.<br />
* Fixed: added some basic error messages to the collectionselect cgi script.<br />
<br />
===Bookmarks===<br />
* Bookmarks are now rendered using a citation.<br />
<br />
===Bazaar Link===<br />
* New Icon<br />
<br />
===Blackout===<br />
* New Icon<br />
<br />
===Simple Publications===<br />
* New Icon<br />
<br />
===Edshare Core Plugin===<br />
* New Icon<br />
<br />
===Edshare Theme===<br />
* New Icon<br />
<br />
===Spanish Language Pack===<br />
* New Bazaar Package based upon http://files.eprints.org/724/<br />
<br />
===Ukrainian Language Pack===<br />
* New Bazaar Package based upon http://files.eprints.org/734/<br />
<br />
===EPrints Flag Pack===<br />
* New Bazaar Package containing a set of flag icons for use with language packs. <br />
<br />
===Documentation===<br />
* Better documentation for EPrints search in DataSet.pm (that will propagate to wiki)<br />
* Updated "My First Bazaar Package Page" to reflect newer ways of working<br />
<br />
<br />
<br />
<br />
* 11:00 - Languages Packs <br />
Take the language packs from files and put them in the store. <br />
* 12:30 - Lunch<br />
* 13:30 - Package Fest<br />
<br />
=Day 3 - Friday 3rd August 2012=<br />
* Package Fest<br />
<br />
===EXIF Import===<br />
* Captured screenshots<br />
* Plugin description could be a bit less brief<br />
* Fixed plugin to depend on exiftool<br />
* Fixed plugin to allow configuration<br />
* Fixed plugin to check existence of exiftool. <br />
<br />
<br />
===Open Office Toolkit===<br />
* Updated to work with libre office<br />
* TODO Work out how to handle multiple spawned soffice.bin processes on ubuntu.<br />
<br />
[[File:DSC_0020.JPG|thumb]]<br />
<br />
=Attendees=<br />
<br />
* Les Carr - University of Southampton<br />
* David Tarrant - University of Southampton<br />
* Tim Brody - University of Southampton<br />
* Patrick McSweeney - University of Southampton<br />
* Matthew Taylor - University of Southampton<br />
* Adam Field - University of Southampton<br />
<br />
Please add your name ...<br />
<br />
* Ian Stuart - EDINA<br />
* David McElroy - University of Glasgow<br />
* Dawid Pachla - University of Glasgow<br />
* Chris Yocum - EDINA<br />
<br />
=Packages of Interest=<br />
<br />
DON'T TOUCH: Shelves, Coverpage, REF, eNova, Kultivate</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Bazaar_Edinburgh_2012&diff=10616Bazaar Edinburgh 20122012-08-03T11:16:49Z<p>Dct05r: /* Day 3 - Friday 3rd August 2012 */</p>
<hr />
<div>[[Category:EPrints_Bazaar]]<br />
<br />
This page offers an agenda for the 3 day Bazaar development event in Edinburgh 1-3 August 2012.<br />
<br />
Location: EH9 1PR<br />
<br />
Over the course of the days the aim is to test, document and better represent our selves in the bazaar store where things are already a little messy (slap wrists people). Through testing of packages we need to improve descriptions, icons and compliment the packages with screen shots to help our users. <br />
<br />
=Day 1 - Wednesday 1st August 2012=<br />
<br />
* Bazaar <br />
** Package Improvement, Config, Dependancies, Documentation, Screenshot<br />
*** Amazon S3<br />
*** Green Spring<br />
*** Batch Edit<br />
*** Icon Builder<br />
<br />
<br />
** Dependencies Ideas<br />
** Bazaar Store Improvements - Seal of Approval, Screenshots, Tags, Display of Dependancies Field<br />
<br />
<br />
* Core<br />
** Loosing Data on Disable/Uninstall<br />
<br />
===Green Spring===<br />
* Capture screenshot<br />
<br />
===Batch Edit===<br />
* Installer fails to detect a lack of external dependencies: Spreadsheet::ParseExcel, Spreadsheet::WriteExcel<br />
* Install is a silent fail<br />
* Uninstall fails with a misleading error ("Repository configuration not reloaded. Errors in configuration files" rather than not actually active)<br />
** The fix is to edit the config, and save. This allows you to uninstall.<br />
* The export function appears to work properly, however, I cannot even find the import option.<br />
* In all honesty, I don't think this plugin can be described as "functional".<br />
<br />
===EXIF Import===<br />
* Captured screenshots<br />
* Plugin description could be a bit less brief<br />
* Plugin does not actually work<br />
* There is a dependancy on IMAGE::Exif<br />
* once that is installed the plugin still fails<br />
* Unhandled warning in Import::EXIF: File not found: *Fh::fh00001bear.jpg <br />
* Warning Import failed: 1 item(s) imported before an error caused the import to abort.<br />
<br />
===Icon Builder===<br />
* Installs without issue<br />
* must navigate to cgi/icon_builder (this should probably be a screen plugin with a link in key_tools or the admin panels)<br />
** FIXED - Added to System Tools Panel<br />
* you can upload a jpg and modify the baground colour.<br />
* when you hit export the file it returns is not a vaild jpeg<br />
** Cos it's a PNG<br />
<br />
===AmazonS3===<br />
* Installed <br />
* updated package to do dependancy checking and output appropriate error messages<br />
* outputs help to configure after installation <br />
* created an example storeage policy<br />
* tested fully<br />
* dave t and dave m took screen shots<br />
<br />
===OREExport===<br />
* Installed plugin<br />
* Took screen shots<br />
* Export works <br />
* Import is broken and needs looking into, this is more a problem with the upstream code than bazaar package.<br />
<br />
===SNEEP===<br />
* Installed <br />
* works<br />
* Screenshots<br />
<br />
===Schedule===<br />
* 11:30 - A Simple Start, take the easy packages and improve and screen shot them.<br />
* 12:45 - Lunch<br />
* 14:00 - Complex Bazaar Package Testing<br />
The idea here is to test the more complex packages (those that require dependencies outside of those needed by eprints) and work out how to best support our "one click" users in installing these packages. Additionally we should looks for packages that need config and make sure they have a "config" link!. These packages include:<br />
** Coversheets<br />
** Preservation Toolkit<br />
** Tweepository<br />
** Open Office Toolkit<br />
<br />
=Day 2 - Thursday 2nd August 2012=<br />
<br />
* 09:30 - Bazaar Store Upgrades & Package Testing<br />
Put all the stuff from yesterday in the store. <br />
** Screenshots <br />
** Dependencies<br />
** Descriptions <br />
** Icons<br />
<br />
* Bazaar upgraded to 3.3.10<br />
* FIXME trunk has a patch for screenshot upload<br />
* FIXME trunk has a patch for a tags text box<br />
<br />
===Collections===<br />
* Package initially failed to operate correctly on a vanilla install.<br />
* Fixed: The CollectionSelect InputForm component was using a deprecated function to get a list of all the users archive items (and failing).<br />
* Fixed: The CollectionSelect InputForm component was not filtering out existing collections (nest collections are currently unsupported). <br />
* Fixed: The ajax calls to the collectionselect cgi script were using inconsistent query parameters and were failing in certain cases.<br />
* Fixed: added some basic error messages to the collectionselect cgi script.<br />
<br />
===Bookmarks===<br />
* Bookmarks are now rendered using a citation.<br />
<br />
===Bazaar Link===<br />
* New Icon<br />
<br />
===Blackout===<br />
* New Icon<br />
<br />
===Simple Publications===<br />
* New Icon<br />
<br />
===Edshare Core Plugin===<br />
* New Icon<br />
<br />
===Edshare Theme===<br />
* New Icon<br />
<br />
===Spanish Language Pack===<br />
* New Bazaar Package based upon http://files.eprints.org/724/<br />
<br />
===Ukrainian Language Pack===<br />
* New Bazaar Package based upon http://files.eprints.org/734/<br />
<br />
===EPrints Flag Pack===<br />
* New Bazaar Package containing a set of flag icons for use with language packs. <br />
<br />
===Documentation===<br />
* Better documentation for EPrints search in DataSet.pm (that will propagate to wiki)<br />
* Updated "My First Bazaar Package Page" to reflect newer ways of working<br />
<br />
<br />
<br />
<br />
* 11:00 - Languages Packs <br />
Take the language packs from files and put them in the store. <br />
* 12:30 - Lunch<br />
* 13:30 - Package Fest<br />
<br />
=Day 3 - Friday 3rd August 2012=<br />
* Package Fest<br />
<br />
===Open Office Toolkit===<br />
* Updated to work with libre office<br />
* TODO Work out how to handle multiple spawned soffice.bin processes on ubuntu.<br />
<br />
[[File:DSC_0020.JPG|thumb]]<br />
<br />
=Attendees=<br />
<br />
* Les Carr - University of Southampton<br />
* David Tarrant - University of Southampton<br />
* Tim Brody - University of Southampton<br />
* Patrick McSweeney - University of Southampton<br />
* Matthew Taylor - University of Southampton<br />
* Adam Field - University of Southampton<br />
<br />
Please add your name ...<br />
<br />
* Ian Stuart - EDINA<br />
* David McElroy - University of Glasgow<br />
* Dawid Pachla - University of Glasgow<br />
* Chris Yocum - EDINA<br />
<br />
=Packages of Interest=<br />
<br />
DON'T TOUCH: Shelves, Coverpage, REF, eNova, Kultivate</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Bazaar_Edinburgh_2012&diff=10615Bazaar Edinburgh 20122012-08-03T11:15:39Z<p>Dct05r: Wednesday Outcomes</p>
<hr />
<div>[[Category:EPrints_Bazaar]]<br />
<br />
This page offers an agenda for the 3 day Bazaar development event in Edinburgh 1-3 August 2012.<br />
<br />
Location: EH9 1PR<br />
<br />
Over the course of the days the aim is to test, document and better represent our selves in the bazaar store where things are already a little messy (slap wrists people). Through testing of packages we need to improve descriptions, icons and compliment the packages with screen shots to help our users. <br />
<br />
=Day 1 - Wednesday 1st August 2012=<br />
<br />
* Bazaar <br />
** Package Improvement, Config, Dependancies, Documentation, Screenshot<br />
*** Amazon S3<br />
*** Green Spring<br />
*** Batch Edit<br />
*** Icon Builder<br />
<br />
<br />
** Dependencies Ideas<br />
** Bazaar Store Improvements - Seal of Approval, Screenshots, Tags, Display of Dependancies Field<br />
<br />
<br />
* Core<br />
** Loosing Data on Disable/Uninstall<br />
<br />
===Green Spring===<br />
* Capture screenshot<br />
<br />
===Batch Edit===<br />
* Installer fails to detect a lack of external dependencies: Spreadsheet::ParseExcel, Spreadsheet::WriteExcel<br />
* Install is a silent fail<br />
* Uninstall fails with a misleading error ("Repository configuration not reloaded. Errors in configuration files" rather than not actually active)<br />
** The fix is to edit the config, and save. This allows you to uninstall.<br />
* The export function appears to work properly, however, I cannot even find the import option.<br />
* In all honesty, I don't think this plugin can be described as "functional".<br />
<br />
===EXIF Import===<br />
* Captured screenshots<br />
* Plugin description could be a bit less brief<br />
* Plugin does not actually work<br />
* There is a dependancy on IMAGE::Exif<br />
* once that is installed the plugin still fails<br />
* Unhandled warning in Import::EXIF: File not found: *Fh::fh00001bear.jpg <br />
* Warning Import failed: 1 item(s) imported before an error caused the import to abort.<br />
<br />
===Icon Builder===<br />
* Installs without issue<br />
* must navigate to cgi/icon_builder (this should probably be a screen plugin with a link in key_tools or the admin panels)<br />
** FIXED - Added to System Tools Panel<br />
* you can upload a jpg and modify the baground colour.<br />
* when you hit export the file it returns is not a vaild jpeg<br />
** Cos it's a PNG<br />
<br />
===AmazonS3===<br />
* Installed <br />
* updated package to do dependancy checking and output appropriate error messages<br />
* outputs help to configure after installation <br />
* created an example storeage policy<br />
* tested fully<br />
* dave t and dave m took screen shots<br />
<br />
===OREExport===<br />
* Installed plugin<br />
* Took screen shots<br />
* Export works <br />
* Import is broken and needs looking into, this is more a problem with the upstream code than bazaar package.<br />
<br />
===SNEEP===<br />
* Installed <br />
* works<br />
* Screenshots<br />
<br />
===Schedule===<br />
* 11:30 - A Simple Start, take the easy packages and improve and screen shot them.<br />
* 12:45 - Lunch<br />
* 14:00 - Complex Bazaar Package Testing<br />
The idea here is to test the more complex packages (those that require dependencies outside of those needed by eprints) and work out how to best support our "one click" users in installing these packages. Additionally we should looks for packages that need config and make sure they have a "config" link!. These packages include:<br />
** Coversheets<br />
** Preservation Toolkit<br />
** Tweepository<br />
** Open Office Toolkit<br />
<br />
=Day 2 - Thursday 2nd August 2012=<br />
<br />
* 09:30 - Bazaar Store Upgrades & Package Testing<br />
Put all the stuff from yesterday in the store. <br />
** Screenshots <br />
** Dependencies<br />
** Descriptions <br />
** Icons<br />
<br />
* Bazaar upgraded to 3.3.10<br />
* FIXME trunk has a patch for screenshot upload<br />
* FIXME trunk has a patch for a tags text box<br />
<br />
===Collections===<br />
* Package initially failed to operate correctly on a vanilla install.<br />
* Fixed: The CollectionSelect InputForm component was using a deprecated function to get a list of all the users archive items (and failing).<br />
* Fixed: The CollectionSelect InputForm component was not filtering out existing collections (nest collections are currently unsupported). <br />
* Fixed: The ajax calls to the collectionselect cgi script were using inconsistent query parameters and were failing in certain cases.<br />
* Fixed: added some basic error messages to the collectionselect cgi script.<br />
<br />
===Bookmarks===<br />
* Bookmarks are now rendered using a citation.<br />
<br />
===Bazaar Link===<br />
* New Icon<br />
<br />
===Blackout===<br />
* New Icon<br />
<br />
===Simple Publications===<br />
* New Icon<br />
<br />
===Edshare Core Plugin===<br />
* New Icon<br />
<br />
===Edshare Theme===<br />
* New Icon<br />
<br />
===Spanish Language Pack===<br />
* New Bazaar Package based upon http://files.eprints.org/724/<br />
<br />
===Ukrainian Language Pack===<br />
* New Bazaar Package based upon http://files.eprints.org/734/<br />
<br />
===EPrints Flag Pack===<br />
* New Bazaar Package containing a set of flag icons for use with language packs. <br />
<br />
===Documentation===<br />
* Better documentation for EPrints search in DataSet.pm (that will propagate to wiki)<br />
* Updated "My First Bazaar Package Page" to reflect newer ways of working<br />
<br />
<br />
<br />
<br />
* 11:00 - Languages Packs <br />
Take the language packs from files and put them in the store. <br />
* 12:30 - Lunch<br />
* 13:30 - Package Fest<br />
<br />
=Day 3 - Friday 3rd August 2012=<br />
* Package Fest<br />
<br />
[[File:DSC_0020.JPG|thumb]]<br />
<br />
=Attendees=<br />
<br />
* Les Carr - University of Southampton<br />
* David Tarrant - University of Southampton<br />
* Tim Brody - University of Southampton<br />
* Patrick McSweeney - University of Southampton<br />
* Matthew Taylor - University of Southampton<br />
* Adam Field - University of Southampton<br />
<br />
Please add your name ...<br />
<br />
* Ian Stuart - EDINA<br />
* David McElroy - University of Glasgow<br />
* Dawid Pachla - University of Glasgow<br />
* Chris Yocum - EDINA<br />
<br />
=Packages of Interest=<br />
<br />
DON'T TOUCH: Shelves, Coverpage, REF, eNova, Kultivate</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=My_First_Bazaar_Package&diff=10614My First Bazaar Package2012-08-03T09:15:34Z<p>Dct05r: Re-Ordered instructions</p>
<hr />
<div>=Introduction=<br />
<br />
In this tutorial you will create a "Hello, World" Screen and package it as a Bazaar Package (.epm).<br />
<br />
=Requirements=<br />
<br />
You will need a working EPrints installation on which you have an administrator account. You will need to have access to the command line to create the files for the package.<br />
<br />
=Step 1 - Create a blank package=<br />
<br />
In ''Admin'' &rarr; ''System Tools'' &rarr; ''EPrints Bazaar'', select the ''Developer Tools'' tab.<br />
<br />
At the bottom of this screen is a form to create a new EPM. Enter the name (without quotes) "hello_world" and click ''Create''.<br />
<br />
You can fill out the metadata if you wish but at this stage you are only required to have a ''version'', which defaults to "1.0.0".<br />
<br />
Click ''Save and Return'' to return to the EPrints Bazaar screen.<br />
<br />
If you make a mistake you can click ''Edit'' on the ''Developer Tools'' tab to re-edit the package.<br />
<br />
=Step 2 - Add an Icon=<br />
<br />
Create an Icon, using the icon builder at http://bazaar.eprints.org<br />
<br />
OR<br />
<br />
Download the hello_world icon from http://bazaar.eprints.org/images/hello_world.png<br />
<br />
Once you have this icon, name it hello_world.png and move it into the lib/static/images/epm/ directory.<br />
<br />
<br />
=Step 3 - Develop your package contents=<br />
<br />
You will need to be in the root directory of your EPrints installation (typically /opt/eprints3).<br />
<br />
''gedit'' is the Gnome Text editor but you can use any editor that is capable of creating text files.<br />
<br />
==Hello.pm==<br />
<br />
Create the directory to contain the ''Screen'' plugin you're going to package:<br />
<br />
$ mkdir -p lib/plugins/EPrints/Plugin/Screen/<br />
<br />
Create the screen plugin using your preferred text editor and add the sample content below:<br />
<br />
$ gedit lib/plugins/EPrints/Plugin/Screen/Hello.pm<br />
<br />
<source lang="perl"><br />
package EPrints::Plugin::Screen::Hello;<br />
<br />
@ISA = ( 'EPrints::Plugin::Screen' );<br />
<br />
use strict;<br />
# Make the plug-in<br />
sub new<br />
{<br />
my( $class, %params ) = @_;<br />
<br />
my $self = $class->SUPER::new(%params);<br />
<br />
# Where the button to access the screen appears if anywhere, and what priority<br />
$self->{appears} = [<br />
{<br />
place => "admin_actions",<br />
position => 1247,<br />
},<br />
];<br />
<br />
return $self;<br />
}<br />
<br />
# Anyone can see this screen<br />
sub can_be_viewed { 1 }<br />
<br />
# What to display<br />
sub render<br />
{<br />
my( $self ) = @_;<br />
<br />
# Get the current repository object (so we can access the users, eprints information about things in this repository)<br />
<br />
my $repository = $self->{repository};<br />
<br />
# Create an XML element to return to our screen<br />
<br />
my $frag = $repository->xml->create_document_fragment();<br />
<br />
# Fill the fragment with stuff<br />
<br />
$frag->appendChild($repository->xml->create_text_node( "Hello, World!" ));<br />
<br />
return $frag;<br />
}<br />
<br />
1;<br />
</source><br />
<br />
==hello_world.pl==<br />
<br />
Create the package directory that will contain the package's configuration file:<br />
<br />
$ mkdir -p lib/epm/hello_world/cfg/cfg.d<br />
<br />
Create a configuration file that enables the plugin - this file is copied into the repository when the package is enabled:<br />
<br />
$ gedit lib/epm/hello_world/cfg/cfg.d/hello_world.pl<br />
<br />
$c->{plugins}{"Screen::Hello"}{params}{disable} = 0;<br />
<br />
'''NOTE All plugins in lib/plugins are disabled by default (see EPrints::PluginFactory::new) UNLESS you explicitly set the disable property in the plugin (and it doesn't make sense to set disable = 0 in the plugin because that would make it visible to all of your repositories even if they hadn't explicitly enabled your bazaar package).<br />
<br />
=Step 4 - Build the Package=<br />
<br />
Re-Edit your EPM in the "Developer Tools" section of the Bazaar Store. <br />
<br />
At the bottom of the screen (the ''Files'' selector) you need to add the two files you created above:<br />
<br />
* epm/hello_world/cfg/cfg.d/hello_world.pl<br />
* plugins/EPrints/Plugin/Screen/Hello.pm<br />
* static/images/epm/hello_world.png<br />
<br />
=Step 5 - Enable and test the package=<br />
<br />
On the EPrints Bazaar ''Installed'' tab click ''Enable'' for the '''hello_world''' package. After a short time you should see a repository configuration reloaded message.<br />
<br />
In ''Admin'' &rarr; ''System Tools'' &rarr; ''Misc. Tools'' you should now a button-link to your plugin (although with a missing phrase).<br />
<br />
You can now use ''Uninstall'' to completely remove the package and the source files created. A copy of the package will be saved in '''var/cache/epm/hello_world-1.0.0.epm'''.<br />
<br />
=Step 6 - Adding the missing phrases=<br />
<br />
As EPrints is designed to be multi-language, phrases should be used instead of embedded text.<br />
<br />
In this section we add the phrase file to define a name a description for our screen.<br />
<br />
Create the English language directory that will contain the package's English language phrase file:<br />
<br />
$ mkdir -p lib/lang/en/phrases/<br />
<br />
Create a phrase file:<br />
<br />
$ gedit lib/lang/en/phrases/hello_world.xml<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?><br />
<!DOCTYPE phrases SYSTEM "entities.dtd"><br />
<br />
<epp:phrases xmlns="http://www.w3.org/1999/xhtml" xmlns:epp="http://eprints.org/ep3/phrase" xmlns:epc="http://eprints.org/ep3/control"><br />
<br />
<epp:phrase id="Plugin/Screen/Hello:title">Hello</epp:phrase><br />
<epp:phrase id="Plugin/Screen/Hello:description">My First Bazaar Package</epp:phrase><br />
<br />
<epp:phrase id="Plugin/Screen/Hello:text">Hello World - This is the my first bazaar package calling.</epp:phrase><br />
<br />
</epp:phrases><br />
</source><br />
<br />
Don't worry too much about the wrapping here, the important thing are the phrases of which we have created 3. <br />
<br />
Note that 2 of these (the top 2) will get used instantly by our package however the 3rd needs to be added to the render method of our screen. <br />
<br />
In order to do this edit the Hello.pm screen created in Step 1 and add the following in the appropriate place in the render method.<br />
<br />
$frag->appendChild($repository->xml->create_element("br"));<br />
$frag->appendChild($self->html_phrase("text"));<br />
<br />
For some hints on loading and manipulating EPrints see [[Manipulating eprints in 3.2]].<br />
<br />
'''Don't Forget''' to add the phrase file to your bazaar package using the developer tools tab.<br />
<br />
'''WARNING: if your package overrides any existing EPrints phrases then your overrides will be applied to ALL repositories even if they have not enabled your package. In this case you would add your override phrases to a separate file - eg. lib/epm/hello_world/cfg/lang/en/phrases/hello_world_overrides.xml - this file will then only be considered when a repository enables your package.<br />
<br />
[[Category:EPrints_Bazaar]]</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=My_First_Bazaar_Package&diff=10613My First Bazaar Package2012-08-03T09:13:22Z<p>Dct05r: /* Step 1 - Create a blank package */</p>
<hr />
<div>=Introduction=<br />
<br />
In this tutorial you will create a "Hello, World" Screen and package it as a Bazaar Package (.epm).<br />
<br />
=Requirements=<br />
<br />
You will need a working EPrints installation on which you have an administrator account. You will need to have access to the command line to create the files for the package.<br />
<br />
=Step 1 - Create a blank package=<br />
<br />
In ''Admin'' &rarr; ''System Tools'' &rarr; ''EPrints Bazaar'', select the ''Developer Tools'' tab.<br />
<br />
At the bottom of this screen is a form to create a new EPM. Enter the name (without quotes) "hello_world" and click ''Create''.<br />
<br />
You can fill out the metadata if you wish but at this stage you are only required to have a ''version'', which defaults to "1.0.0".<br />
<br />
Click ''Save and Return'' to return to the EPrints Bazaar screen.<br />
<br />
If you make a mistake you can click ''Edit'' on the ''Developer Tools'' tab to re-edit the package.<br />
<br />
=Step 2 - Add an Icon=<br />
<br />
Create an Icon, using the icon builder at http://bazaar.eprints.org<br />
<br />
OR<br />
<br />
Download the hello_world icon from http://bazaar.eprints.org/images/hello_world.png<br />
<br />
Once you have this icon, name it hello_world.png and move it into the lib/static/images/epms/ directory.<br />
<br />
<br />
=Step 3 - Develop your package contents=<br />
<br />
You will need to be in the root directory of your EPrints installation (typically /opt/eprints3).<br />
<br />
''gedit'' is the Gnome Text editor but you can use any editor that is capable of creating text files.<br />
<br />
==Hello.pm==<br />
<br />
Create the directory to contain the ''Screen'' plugin you're going to package:<br />
<br />
$ mkdir -p lib/plugins/EPrints/Plugin/Screen/<br />
<br />
Create the screen plugin using your preferred text editor and add the sample content below:<br />
<br />
$ gedit lib/plugins/EPrints/Plugin/Screen/Hello.pm<br />
<br />
<source lang="perl"><br />
package EPrints::Plugin::Screen::Hello;<br />
<br />
@ISA = ( 'EPrints::Plugin::Screen' );<br />
<br />
use strict;<br />
# Make the plug-in<br />
sub new<br />
{<br />
my( $class, %params ) = @_;<br />
<br />
my $self = $class->SUPER::new(%params);<br />
<br />
# Where the button to access the screen appears if anywhere, and what priority<br />
$self->{appears} = [<br />
{<br />
place => "admin_actions",<br />
position => 1247,<br />
},<br />
];<br />
<br />
return $self;<br />
}<br />
<br />
# Anyone can see this screen<br />
sub can_be_viewed { 1 }<br />
<br />
# What to display<br />
sub render<br />
{<br />
my( $self ) = @_;<br />
<br />
# Get the current repository object (so we can access the users, eprints information about things in this repository)<br />
<br />
my $repository = $self->{repository};<br />
<br />
# Create an XML element to return to our screen<br />
<br />
my $frag = $repository->xml->create_document_fragment();<br />
<br />
# Fill the fragment with stuff<br />
<br />
$frag->appendChild($repository->xml->create_text_node( "Hello, World!" ));<br />
<br />
return $frag;<br />
}<br />
<br />
1;<br />
</source><br />
<br />
==hello_world.pl==<br />
<br />
Create the package directory that will contain the package's configuration file:<br />
<br />
$ mkdir -p lib/epm/hello_world/cfg/cfg.d<br />
<br />
Create a configuration file that enables the plugin - this file is copied into the repository when the package is enabled:<br />
<br />
$ gedit lib/epm/hello_world/cfg/cfg.d/hello_world.pl<br />
<br />
$c->{plugins}{"Screen::Hello"}{params}{disable} = 0;<br />
<br />
'''NOTE All plugins in lib/plugins are disabled by default (see EPrints::PluginFactory::new) UNLESS you explicitly set the disable property in the plugin (and it doesn't make sense to set disable = 0 in the plugin because that would make it visible to all of your repositories even if they hadn't explicitly enabled your bazaar package).<br />
<br />
=Step 4 - Enable and test the package=<br />
<br />
On the EPrints Bazaar ''Installed'' tab click ''Enable'' for the '''hello_world''' package. After a short time you should see a repository configuration reloaded message.<br />
<br />
In ''Admin'' &rarr; ''System Tools'' &rarr; ''Misc. Tools'' you should now a button-link to your plugin (although with a missing phrase).<br />
<br />
You can now use ''Uninstall'' to completely remove the package and the source files created. A copy of the package will be saved in '''var/cache/epm/hello_world-1.0.0.epm'''.<br />
<br />
=Step 5 - Adding the missing phrases=<br />
<br />
As EPrints is designed to be multi-language, phrases should be used instead of embedded text.<br />
<br />
In this section we add the phrase file to define a name a description for our screen.<br />
<br />
Create the English language directory that will contain the package's English language phrase file:<br />
<br />
$ mkdir -p lib/lang/en/phrases/<br />
<br />
Create a phrase file:<br />
<br />
$ gedit lib/lang/en/phrases/hello_world.xml<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="iso-8859-1" standalone="no" ?><br />
<!DOCTYPE phrases SYSTEM "entities.dtd"><br />
<br />
<epp:phrases xmlns="http://www.w3.org/1999/xhtml" xmlns:epp="http://eprints.org/ep3/phrase" xmlns:epc="http://eprints.org/ep3/control"><br />
<br />
<epp:phrase id="Plugin/Screen/Hello:title">Hello</epp:phrase><br />
<epp:phrase id="Plugin/Screen/Hello:description">My First Bazaar Package</epp:phrase><br />
<br />
<epp:phrase id="Plugin/Screen/Hello:text">Hello World - This is the my first bazaar package calling.</epp:phrase><br />
<br />
</epp:phrases><br />
</source><br />
<br />
Don't worry too much about the wrapping here, the important thing are the phrases of which we have created 3. <br />
<br />
Note that 2 of these (the top 2) will get used instantly by our package however the 3rd needs to be added to the render method of our screen. <br />
<br />
In order to do this edit the Hello.pm screen created in Step 1 and add the following in the appropriate place in the render method.<br />
<br />
$frag->appendChild($repository->xml->create_element("br"));<br />
$frag->appendChild($self->html_phrase("text"));<br />
<br />
For some hints on loading and manipulating EPrints see [[Manipulating eprints in 3.2]].<br />
<br />
'''Don't Forget''' to add the phrase file to your bazaar package using the developer tools tab.<br />
<br />
'''WARNING: if your package overrides any existing EPrints phrases then your overrides will be applied to ALL repositories even if they have not enabled your package. In this case you would add your override phrases to a separate file - eg. lib/epm/hello_world/cfg/lang/en/phrases/hello_world_overrides.xml - this file will then only be considered when a repository enables your package.<br />
<br />
[[Category:EPrints_Bazaar]]</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Bazaar_Edinburgh_2012&diff=10608Bazaar Edinburgh 20122012-08-02T11:12:47Z<p>Dct05r: /* OREExport */</p>
<hr />
<div>[[Category:EPrints_Bazaar]]<br />
<br />
This page offers an agenda for the 3 day Bazaar development event in Edinburgh 1-3 August 2012.<br />
<br />
Location: EH9 1PR<br />
<br />
Over the course of the days the aim is to test, document and better represent our selves in the bazaar store where things are already a little messy (slap wrists people). Through testing of packages we need to improve descriptions, icons and compliment the packages with screen shots to help our users. <br />
<br />
=Day 1 - Wednesday 1st August 2012=<br />
<br />
* Bazaar <br />
** Package Improvement, Config, Dependancies, Documentation, Screenshot<br />
*** Amazon S3<br />
*** Green Spring<br />
*** Batch Edit<br />
*** Icon Builder<br />
<br />
<br />
** Dependencies Ideas<br />
** Bazaar Store Improvements - Seal of Approval, Screenshots, Tags, Display of Dependancies Field<br />
<br />
<br />
* Core<br />
** Loosing Data on Disable/Uninstall<br />
<br />
===Green Spring===<br />
* Capture screenshot<br />
<br />
===Batch Edit===<br />
* Installer fails to detect a lack of external dependencies: Spreadsheet::ParseExcel, Spreadsheet::WriteExcel<br />
* Install is a silent fail<br />
* Uninstall fails with a misleading error ("Repository configuration not reloaded. Errors in configuration files" rather than not actually active)<br />
** The fix is to edit the config, and save. This allows you to uninstall.<br />
* The export function appears to work properly, however, I cannot even find the import option.<br />
* In all honesty, I don't think this plugin can be described as "functional".<br />
<br />
===EXIF Import===<br />
* Captured screenshots<br />
* Plugin description could be a bit less brief<br />
* Plugin does not actually work<br />
* There is a dependancy on IMAGE::Exif<br />
* once that is installed the plugin still fails<br />
* Unhandled warning in Import::EXIF: File not found: *Fh::fh00001bear.jpg <br />
* Warning Import failed: 1 item(s) imported before an error caused the import to abort.<br />
<br />
===Icon Builder===<br />
* Installs without issue<br />
* must navigate to cgi/icon_builder (this should probably be a screen plugin with a link in key_tools or the admin panels)<br />
** FIXED - Added to System Tools Panel<br />
* you can upload a jpg and modify the baground colour.<br />
* when you hit export the file it returns is not a vaild jpeg<br />
** Cos it's a PNG<br />
<br />
===AmazonS3===<br />
* Installed <br />
* updated package to do dependancy checking and output appropriate error messages<br />
* outputs help to configure after installation <br />
* created an example storeage policy<br />
* tested fully<br />
* dave t and dave m took screen shots<br />
<br />
===OREExport===<br />
* Installed plugin<br />
* Took screen shots<br />
* Export works <br />
* Import is broken and needs looking into, this is more a problem with the upstream code than bazaar package.<br />
<br />
===SNEEP===<br />
* Installed <br />
* works<br />
* Screenshots<br />
<br />
===Schedule===<br />
* 11:30 - A Simple Start, take the easy packages and improve and screen shot them.<br />
* 12:45 - Lunch<br />
* 14:00 - Complex Bazaar Package Testing<br />
The idea here is to test the more complex packages (those that require dependencies outside of those needed by eprints) and work out how to best support our "one click" users in installing these packages. Additionally we should looks for packages that need config and make sure they have a "config" link!. These packages include:<br />
** Coversheets<br />
** Preservation Toolkit<br />
** Tweepository<br />
** Open Office Toolkit<br />
<br />
=Day 2 - Thursday 2nd August 2012=<br />
<br />
* 09:30 - Bazaar Store Upgrades & Package Testing<br />
Put all the stuff from yesterday in the store. <br />
** Screenshots <br />
** Dependencies<br />
** Descriptions <br />
** Icons<br />
* 11:00 - Languages Packs <br />
Take the language packs from files and put them in the store. <br />
* 12:30 - Lunch<br />
* 13:30 - Package Fest<br />
<br />
=Day 3 - Friday 3rd August 2012=<br />
* Package Fest<br />
<br />
[[File:DSC_0020.JPG|thumb]]<br />
<br />
=Attendees=<br />
<br />
* Les Carr - University of Southampton<br />
* David Tarrant - University of Southampton<br />
* Tim Brody - University of Southampton<br />
* Patrick McSweeney - University of Southampton<br />
* Matthew Taylor - University of Southampton<br />
* Adam Field - University of Southampton<br />
<br />
Please add your name ...<br />
<br />
* Ian Stuart - EDINA<br />
* David McElroy - University of Glasgow<br />
* Dawid Pachla - University of Glasgow<br />
* Chris Yocum - EDINA<br />
<br />
=Packages of Interest=<br />
<br />
DON'T TOUCH: Shelves, Coverpage, REF, eNova, Kultivate</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Bazaar_Edinburgh_2012&diff=10607Bazaar Edinburgh 20122012-08-02T10:58:33Z<p>Dct05r: </p>
<hr />
<div>[[Category:EPrints_Bazaar]]<br />
<br />
This page offers an agenda for the 3 day Bazaar development event in Edinburgh 1-3 August 2012.<br />
<br />
Location: EH9 1PR<br />
<br />
Over the course of the days the aim is to test, document and better represent our selves in the bazaar store where things are already a little messy (slap wrists people). Through testing of packages we need to improve descriptions, icons and compliment the packages with screen shots to help our users. <br />
<br />
=Day 1 - Wednesday 1st August 2012=<br />
<br />
* Bazaar <br />
** Package Improvement, Config, Dependancies, Documentation, Screenshot<br />
*** Amazon S3<br />
*** Green Spring<br />
*** Batch Edit<br />
*** Icon Builder<br />
<br />
<br />
** Dependencies Ideas<br />
** Bazaar Store Improvements - Seal of Approval, Screenshots, Tags, Display of Dependancies Field<br />
<br />
<br />
* Core<br />
** Loosing Data on Disable/Uninstall<br />
<br />
===Green Spring===<br />
* Capture screenshot<br />
<br />
===Batch Edit===<br />
* Installer fails to detect a lack of external dependencies: Spreadsheet::ParseExcel, Spreadsheet::WriteExcel<br />
* Install is a silent fail<br />
* Uninstall fails with a misleading error ("Repository configuration not reloaded. Errors in configuration files" rather than not actually active)<br />
** The fix is to edit the config, and save. This allows you to uninstall.<br />
* The export function appears to work properly, however, I cannot even find the import option.<br />
* In all honesty, I don't think this plugin can be described as "functional".<br />
<br />
===EXIF Import===<br />
* Captured screenshots<br />
* Plugin description could be a bit less brief<br />
* Plugin does not actually work<br />
* There is a dependancy on IMAGE::Exif<br />
* once that is installed the plugin still fails<br />
* Unhandled warning in Import::EXIF: File not found: *Fh::fh00001bear.jpg <br />
* Warning Import failed: 1 item(s) imported before an error caused the import to abort.<br />
<br />
===Icon Builder===<br />
* Installs without issue<br />
* must navigate to cgi/icon_builder (this should probably be a screen plugin with a link in key_tools or the admin panels)<br />
** FIXED - Added to System Tools Panel<br />
* you can upload a jpg and modify the baground colour.<br />
* when you hit export the file it returns is not a vaild jpeg<br />
** Cos it's a PNG<br />
<br />
===AmazonS3===<br />
* Installed <br />
* updated package to do dependancy checking and output appropriate error messages<br />
* outputs help to configure after installation <br />
* created an example storeage policy<br />
* tested fully<br />
* dave t and dave m took screen shots<br />
<br />
===OREExport===<br />
* Installed plugin<br />
* Took screen shots<br />
* Export works <br />
* Import works<br />
<br />
===SNEEP===<br />
* Installed <br />
* works<br />
* Screenshots<br />
<br />
===Schedule===<br />
* 11:30 - A Simple Start, take the easy packages and improve and screen shot them.<br />
* 12:45 - Lunch<br />
* 14:00 - Complex Bazaar Package Testing<br />
The idea here is to test the more complex packages (those that require dependencies outside of those needed by eprints) and work out how to best support our "one click" users in installing these packages. Additionally we should looks for packages that need config and make sure they have a "config" link!. These packages include:<br />
** Coversheets<br />
** Preservation Toolkit<br />
** Tweepository<br />
** Open Office Toolkit<br />
<br />
=Day 2 - Thursday 2nd August 2012=<br />
<br />
* 09:30 - Bazaar Store Upgrades & Package Testing<br />
Put all the stuff from yesterday in the store. <br />
** Screenshots <br />
** Dependencies<br />
** Descriptions <br />
** Icons<br />
* 11:00 - Languages Packs <br />
Take the language packs from files and put them in the store. <br />
* 12:30 - Lunch<br />
* 13:30 - Package Fest<br />
<br />
=Day 3 - Friday 3rd August 2012=<br />
* Package Fest<br />
<br />
[[File:DSC_0020.JPG|thumb]]<br />
<br />
=Attendees=<br />
<br />
* Les Carr - University of Southampton<br />
* David Tarrant - University of Southampton<br />
* Tim Brody - University of Southampton<br />
* Patrick McSweeney - University of Southampton<br />
* Matthew Taylor - University of Southampton<br />
* Adam Field - University of Southampton<br />
<br />
Please add your name ...<br />
<br />
* Ian Stuart - EDINA<br />
* David McElroy - University of Glasgow<br />
* Dawid Pachla - University of Glasgow<br />
* Chris Yocum - EDINA<br />
<br />
=Packages of Interest=<br />
<br />
DON'T TOUCH: Shelves, Coverpage, REF, eNova, Kultivate</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Bazaar_Edinburgh_2012&diff=10589Bazaar Edinburgh 20122012-08-01T12:34:38Z<p>Dct05r: </p>
<hr />
<div>[[Category:EPrints_Bazaar]]<br />
<br />
This page offers an agenda for the 3 day Bazaar development event in Edinburgh 1-3 August 2012.<br />
<br />
Location: EH9 1PR<br />
<br />
Over the course of the days the aim is to test, document and better represent our selves in the bazaar store where things are already a little messy (slap wrists people). Through testing of packages we need to improve descriptions, icons and compliment the packages with screen shots to help our users. <br />
<br />
=Day 1 - Wednesday 1st August 2012=<br />
<br />
* Bazaar <br />
** Package Improvement, Config, Dependancies, Documentation, Screenshot<br />
*** Amazon S3<br />
*** Green Spring<br />
*** Batch Edit<br />
*** Icon Builder<br />
<br />
<br />
** Dependencies Ideas<br />
** Bazaar Store Improvements - Seal of Approval, Screenshots, Tags, Display of Dependancies Field<br />
<br />
<br />
* Core<br />
** Loosing Data on Disable/Uninstall<br />
<br />
<br />
* 11:30 - A Simple Start, take the easy packages and improve and screen shot them.<br />
* 12:30 - Lunch<br />
* 13:30 - Complex Bazaar Package Testing<br />
The idea here is to test the more complex packages (those that require dependencies outside of those needed by eprints) and work out how to best support our "one click" users in installing these packages. Additionally we should looks for packages that need config and make sure they have a "config" link!. These packages include:<br />
** Coversheets<br />
** Preservation Toolkit<br />
** Tweepository<br />
** Open Office Toolkit<br />
<br />
=Day 2 - Thursday 2nd August 2012=<br />
<br />
* 09:30 - Bazaar Store Upgrades & Package Testing<br />
Put all the stuff from yesterday in the store. <br />
** Screenshots <br />
** Dependencies<br />
** Descriptions <br />
** Icons<br />
* 11:00 - Languages Packs <br />
Take the language packs from files and put them in the store. <br />
* 12:30 - Lunch<br />
* 13:30 - Package Fest<br />
<br />
=Day 3 - Friday 3rd August 2012=<br />
* Package Fest<br />
<br />
[[File:DSC_0020.JPG|thumb]]<br />
<br />
=Attendees=<br />
<br />
* Les Carr - University of Southampton<br />
* David Tarrant - University of Southampton<br />
* Tim Brody - University of Southampton<br />
* Patrick McSweeney - University of Southampton<br />
* Matthew Taylor - University of Southampton<br />
* Adam Field - University of Southampton<br />
<br />
Please add your name ...<br />
<br />
* Ian Stuart - EDINA<br />
* David McElroy - University of Glasgow<br />
* Dawid Pachla - University of Glasgow<br />
* Chris Yocum - EDINA<br />
<br />
=Packages of Interest=<br />
<br />
DON'T TOUCH: Shelves, Coverpage, REF, eNova, Kultivate</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Bazaar_Edinburgh_2012&diff=10588Bazaar Edinburgh 20122012-08-01T11:25:56Z<p>Dct05r: </p>
<hr />
<div>[[Category:EPrints_Bazaar]]<br />
<br />
This page offers an agenda for the 3 day Bazaar development event in Edinburgh 1-3 August 2012.<br />
<br />
Location: EH9 1PR<br />
<br />
Over the course of the days the aim is to test, document and better represent our selves in the bazaar store where things are already a little messy (slap wrists people). Through testing of packages we need to improve descriptions, icons and compliment the packages with screen shots to help our users. <br />
<br />
=Day 1 - Wednesday 1st August 2012=<br />
<br />
* Bazaar <br />
** Package Improvement, Config, Dependancies, Documentation, Screenshot<br />
** Dependencies Ideas<br />
** Bazaar Store Improvements - Seal of Approval, Screenshots, Tags, Display of Dependancies Field<br />
<br />
<br />
* Core<br />
** Loosing Data on Disable/Uninstall<br />
<br />
<br />
* 11:30 - A Simple Start, take the easy packages and improve and screen shot them.<br />
* 12:30 - Lunch<br />
* 13:30 - Complex Bazaar Package Testing<br />
The idea here is to test the more complex packages (those that require dependencies outside of those needed by eprints) and work out how to best support our "one click" users in installing these packages. Additionally we should looks for packages that need config and make sure they have a "config" link!. These packages include:<br />
** Coversheets<br />
** Preservation Toolkit<br />
** Tweepository<br />
** Open Office Toolkit<br />
<br />
=Day 2 - Thursday 2nd August 2012=<br />
<br />
* 09:30 - Bazaar Store Upgrades & Package Testing<br />
Put all the stuff from yesterday in the store. <br />
** Screenshots <br />
** Dependencies<br />
** Descriptions <br />
** Icons<br />
* 11:00 - Languages Packs <br />
Take the language packs from files and put them in the store. <br />
* 12:30 - Lunch<br />
* 13:30 - Package Fest<br />
<br />
=Day 3 - Friday 3rd August 2012=<br />
* Package Fest<br />
<br />
[[File:DSC_0020.JPG|thumb]]<br />
<br />
=Attendees=<br />
<br />
* Les Carr - University of Southampton<br />
* David Tarrant - University of Southampton<br />
* Tim Brody - University of Southampton<br />
* Patrick McSweeney - University of Southampton<br />
* Matthew Taylor - University of Southampton<br />
* Adam Field - University of Southampton<br />
<br />
Please add your name ...<br />
<br />
* Ian Stuart - EDINA<br />
* David McElroy - University of Glasgow<br />
* Dawid Pachla - University of Glasgow<br />
* Chris Yocum - EDINA<br />
<br />
=Packages of Interest=<br />
<br />
DON'T TOUCH: Shelves, Coverpage, REF, eNova, Kultivate</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Bazaar_Edinburgh_2012&diff=10587Bazaar Edinburgh 20122012-08-01T11:24:25Z<p>Dct05r: </p>
<hr />
<div>[[Category:EPrints_Bazaar]]<br />
<br />
This page offers an agenda for the 3 day Bazaar development event in Edinburgh 1-3 August 2012.<br />
<br />
Location: EH9 1PR<br />
<br />
Over the course of the days the aim is to test, document and better represent our selves in the bazaar store where things are already a little messy (slap wrists people). Through testing of packages we need to improve descriptions, icons and compliment the packages with screen shots to help our users. <br />
<br />
=Day 1 - Wednesday 1st August 2012=<br />
<br />
* Bazaar <br />
** Package Improvement, Config, Dependancies, Documentation, Screenshot<br />
** Dependencies Ideas<br />
** Bazaar Store Improvements - Seal of Approval, Screenshots, Tags, Display of Dependancies Field<br />
<br />
* Core<br />
** Loosing Data on Disable/Uninstall<br />
**<br />
<br />
<br />
* 11:30 - A Simple Start, take the easy packages and improve and screen shot them.<br />
* 12:30 - Lunch<br />
* 13:30 - Complex Bazaar Package Testing<br />
The idea here is to test the more complex packages (those that require dependencies outside of those needed by eprints) and work out how to best support our "one click" users in installing these packages. Additionally we should looks for packages that need config and make sure they have a "config" link!. These packages include:<br />
** Coversheets<br />
** Preservation Toolkit<br />
** Tweepository<br />
** Open Office Toolkit<br />
<br />
=Day 2 - Thursday 2nd August 2012=<br />
<br />
* 09:30 - Bazaar Store Upgrades & Package Testing<br />
Put all the stuff from yesterday in the store. <br />
** Screenshots <br />
** Dependencies<br />
** Descriptions <br />
** Icons<br />
* 11:00 - Languages Packs <br />
Take the language packs from files and put them in the store. <br />
* 12:30 - Lunch<br />
* 13:30 - Package Fest<br />
<br />
=Day 3 - Friday 3rd August 2012=<br />
* Package Fest<br />
<br />
[[File:DSC_0020.JPG|thumb]]<br />
<br />
=Attendees=<br />
<br />
* Les Carr - University of Southampton<br />
* David Tarrant - University of Southampton<br />
* Tim Brody - University of Southampton<br />
* Patrick McSweeney - University of Southampton<br />
* Matthew Taylor - University of Southampton<br />
* Adam Field - University of Southampton<br />
<br />
Please add your name ...<br />
<br />
* Ian Stuart - EDINA<br />
* David McElroy - University of Glasgow<br />
* Dawid Pachla - University of Glasgow<br />
* Chris Yocum - EDINA<br />
<br />
=Packages of Interest=<br />
<br />
DON'T TOUCH: Shelves, Coverpage, REF, eNova, Kultivate</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Bazaar_Edinburgh_2012&diff=10573Bazaar Edinburgh 20122012-07-24T09:08:53Z<p>Dct05r: </p>
<hr />
<div>[[Category:EPrints_Bazaar]]<br />
<br />
This page offers an agenda for the 3 day Bazaar development event in Edinburgh 1-3 August 2012.<br />
<br />
Location: EH9 1PR<br />
<br />
Over the course of the days the aim is to test, document and better represent our selves in the bazaar store where things are already a little messy (slap wrists people). Through testing of packages we need to improve descriptions, icons and compliment the packages with screen shots to help our users. <br />
<br />
=Day 1 - Wednesday 1st August 2012=<br />
<br />
* 11:30 - A Simple Start, take the easy packages and improve and screen shot them.<br />
* 12:30 - Lunch<br />
* 13:30 - Complex Bazaar Package Testing<br />
The idea here is to test the more complex packages (those that require dependencies outside of those needed by eprints) and work out how to best support our "one click" users in installing these packages. Additionally we should looks for packages that need config and make sure they have a "config" link!. These packages include:<br />
** Coversheets<br />
** Preservation Toolkit<br />
** Tweepository<br />
** Open Office Toolkit<br />
<br />
=Day 2 - Thursday 2nd August 2012=<br />
<br />
* 09:30 - Bazaar Store Upgrades & Package Testing<br />
Put all the stuff from yesterday in the store. <br />
** Screenshots <br />
** Dependencies<br />
** Descriptions <br />
** Icons<br />
* 11:00 - Languages Packs <br />
Take the language packs from files and put them in the store. <br />
* 12:30 - Lunch<br />
* 13:30 - Package Fest<br />
<br />
=Day 3 - Friday 3rd August 2012=<br />
* Package Fest</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Bazaar_Edinburgh_2012&diff=10572Bazaar Edinburgh 20122012-07-24T09:01:32Z<p>Dct05r: Created page with 'Category:EPrints_Bazaar This page offers an agenda for the 3 day Bazaar development event in Edinburgh 1-3 August 2012. Location: EH9 1PR Over the course of the days the a…'</p>
<hr />
<div>[[Category:EPrints_Bazaar]]<br />
<br />
This page offers an agenda for the 3 day Bazaar development event in Edinburgh 1-3 August 2012.<br />
<br />
Location: EH9 1PR<br />
<br />
Over the course of the days the aim is to test, document and better represent our selves in the bazaar store where things are already a little messy (slap wrists people). Through testing of packages we need to improve descriptions, icons and compliment the packages with screen shots to help our users. <br />
<br />
=Day 1 - Wednesday 1st August 2012=<br />
<br />
* 11:30 - A Simple Start, take the easy packages and improve and screen shot them. <br />
* 12:30 - Lunch<br />
* 13:30 - Complex Bazaar Package Testing<br />
The idea here is to test the more complex packages (those that require dependencies outside of those needed by eprints) and work out how to best support our "one click" users in installing these packages, these packages include:<br />
** Coversheets<br />
** Preservation Toolkit<br />
** Tweepository<br />
** Open Office Toolkit<br />
<br />
=Day 2 - Thursday 2nd August 2012=<br />
<br />
* 09:30 - Bazaar Store Upgrades & Package Testing<br />
Put all the stuff from yesterday in the store. <br />
** Screenshots <br />
** Dependencies<br />
** Descriptions <br />
** Icons<br />
* 11:00 - Languages Packs <br />
Take the language packs from files and put them in the store. <br />
* 12:30 - Lunch<br />
* 13:30 - Package Fest<br />
<br />
=Day 3 - Friday 3rd August 2012=<br />
* Package Fest</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Upgrading_Bazaar_Packages_(How_it_Works)&diff=10560Upgrading Bazaar Packages (How it Works)2012-07-05T12:57:42Z<p>Dct05r: </p>
<hr />
<div>[[Category:EPrints_Bazaar]]<br />
<br />
This page outlines what happens when you upgrade an EPrints Bazaar package, more importantly it outlines the difference between Upgrade and Disable.<br />
<br />
=The Upgrade Process=<br />
<br />
The upgrade process consists of the following stages, if any of which fail then the package will not be upgraded. <br />
<br />
Note that some of the stages have the potential to succeed incorrectly which is when bugs occur.<br />
<br />
The main bulk of this process is detailed in perl_lib/EPrints/Plugin/Screen/Admin/EPM/Available.pm<br />
<br />
==Stage 1 - Retrieve Installed EPM==<br />
<br />
From '''/lib only''' the installed epm is retrieved and hashes for each of the files generated.<br />
<br />
'''NOTE:''' If you have made changes to the epm in /lib in order to do some development, don't expect an upgrade on the running repository to work, create another one!<br />
<br />
==Stage 2 - Disable Unchanged==<br />
<br />
'''NOTE:''' This only refers to the files that get installed in the repository archive path. e.g. archive/foo/cfg/cfg.d/package_cfg.pl<br />
<br />
Basically if the files installed in the repository haven't changed then they are removed. If they have changed then they are left unchanged or saved at .pl.epmsave. <br />
<br />
==Stage 3 - Uninstall Existing==<br />
<br />
At this stage the current epm files in /lib are removed. The hashes will match as this is where you got them from at stage 1!<br />
<br />
==Stage 4 - Install new EPM==<br />
<br />
This stage installs the new EPM in lib, note that it will not enable it, thus no files are copied to the repository directory, these are still not present as they were deleted in Stage 2. <br />
<br />
At this stage the repository config is checked ('''not loaded''') to see if the epm will cause fatal errors. <br />
<br />
If it can load, then it is loaded (unless you are '''upgrading''').<br />
<br />
==Stage 5 - Upgrade==<br />
<br />
This stage enables the epm, installing the repository files and calling a full reload. <br />
<br />
Before it does this reload, the current counters and datasets are retrieved from the running config. '''This is the config that was running before Stage 1, before this whole process started''', thus it will list datasets installed by the old epm. <br />
<br />
A reload is then done and the old datasets and counters are compared to those required now. Any changes are then applied.<br />
<br />
If fields and counters have been added, these are added.<br />
If fields and counters have been removed, '''these are removed'''.<br />
<br />
This means an upgrade will work and '''not delete data'''<br />
<br />
'''Note:''' If the repository object does not have any knowledge of orphaned data in the database then it won't delete it as this will not appear as a change. No knowledge before = No knowledge now = no change. <br />
<br />
=Important Note=<br />
<br />
If you choose to disable/un-install before installing a new version of a bazaar package then your data '''will''' automatically be removed when the repository is reloaded!<br />
<br />
To keep a dataset, you have to keep it defined in the repository config.</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Upgrading_Bazaar_Packages_(How_it_Works)&diff=10558Upgrading Bazaar Packages (How it Works)2012-07-05T12:46:09Z<p>Dct05r: moved How Bazaar Upgrades Work to Upgrading Bazaar Packages (How it Works):&#32;Better Title</p>
<hr />
<div>[[Category:EPrints_Bazaar]]<br />
<br />
This page outlines what happens when you upgrade an EPrints Bazaar package, more importantly it outlines the difference between Upgrade and Disable.<br />
<br />
=The Upgrade Process=<br />
<br />
The upgrade process consists of the following stages, if any of which fail then the package will not be upgraded. <br />
<br />
Note that some of the stages have the potential to succeed incorrectly which is when bugs occur.<br />
<br />
The main bulk of this process is detailed in perl_lib/EPrints/Plugin/Screen/Admin/EPM/Available.pm<br />
<br />
==Stage 1 - Retrieve Installed EPM==<br />
<br />
From '''/lib only''' the installed epm is retrieved and hashes for each of the files generated.<br />
<br />
'''NOTE:''' If you have made changes to the epm in /lib in order to do some development, don't expect an upgrade on the running repository to work, create another one!<br />
<br />
==Stage 2 - Disable Unchanged==<br />
<br />
'''NOTE:''' This only refers to the files that get installed in the repository archive path. e.g. archive/foo/cfg/cfg.d/package_cfg.pl<br />
<br />
Basically if the files installed in the repository haven't changed then they are removed. If they have changed then they are left unchanged or saved at .pl.epmsave. <br />
<br />
==Stage 3 - Uninstall Existing==<br />
<br />
At this stage the current epm files in /lib are removed. The hashes will match as this is where you got them from at stage 1!<br />
<br />
==Stage 4 - Install new EPM==<br />
<br />
This stage installs the new EPM in lib, note that it will not enable it, thus no files are copied to the repository directory, these are still not present as they were deleted in Stage 2. <br />
<br />
At this stage the repository config is checked ('''not loaded''') to see if the epm will cause fatal errors. <br />
<br />
If it can load, then it is loaded (unless you are '''upgrading''').<br />
<br />
==Stage 5 - Upgrade==<br />
<br />
This stage enables the epm, installing the repository files and calling a full reload. <br />
<br />
Before it does this reload, the current counters and datasets are retrieved from the running config. '''This is the config that was running before Stage 1, before this whole process started''', thus it will list datasets installed by the old epm. <br />
<br />
A reload is then done and the old datasets and counters compared to those now required after the changes. <br />
<br />
If fields and counters have been added, these are added.<br />
If fields and counters have been removed, '''these are removed'''.<br />
<br />
This means an upgrade will work and '''not delete data'''<br />
<br />
=Important Note=<br />
<br />
If you choose to disable/un-install before installing a new version of a bazaar package then your data '''will''' automatically be removed when the repository is reloaded!<br />
<br />
To keep a dataset, you have to keep it defined in the repository config.</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=How_Bazaar_Upgrades_Work&diff=10559How Bazaar Upgrades Work2012-07-05T12:46:09Z<p>Dct05r: moved How Bazaar Upgrades Work to Upgrading Bazaar Packages (How it Works):&#32;Better Title</p>
<hr />
<div>#REDIRECT [[Upgrading Bazaar Packages (How it Works)]]</div>Dct05rhttps://wiki.eprints.org/w/index.php?title=Upgrading_Bazaar_Packages_(How_it_Works)&diff=10557Upgrading Bazaar Packages (How it Works)2012-07-05T12:44:14Z<p>Dct05r: Created page with 'Category:EPrints_Bazaar This page outlines what happens when you upgrade an EPrints Bazaar package, more importantly it outlines the difference between Upgrade and Disable. …'</p>
<hr />
<div>[[Category:EPrints_Bazaar]]<br />
<br />
This page outlines what happens when you upgrade an EPrints Bazaar package, more importantly it outlines the difference between Upgrade and Disable.<br />
<br />
=The Upgrade Process=<br />
<br />
The upgrade process consists of the following stages, if any of which fail then the package will not be upgraded. <br />
<br />
Note that some of the stages have the potential to succeed incorrectly which is when bugs occur.<br />
<br />
The main bulk of this process is detailed in perl_lib/EPrints/Plugin/Screen/Admin/EPM/Available.pm<br />
<br />
==Stage 1 - Retrieve Installed EPM==<br />
<br />
From '''/lib only''' the installed epm is retrieved and hashes for each of the files generated.<br />
<br />
'''NOTE:''' If you have made changes to the epm in /lib in order to do some development, don't expect an upgrade on the running repository to work, create another one!<br />
<br />
==Stage 2 - Disable Unchanged==<br />
<br />
'''NOTE:''' This only refers to the files that get installed in the repository archive path. e.g. archive/foo/cfg/cfg.d/package_cfg.pl<br />
<br />
Basically if the files installed in the repository haven't changed then they are removed. If they have changed then they are left unchanged or saved at .pl.epmsave. <br />
<br />
==Stage 3 - Uninstall Existing==<br />
<br />
At this stage the current epm files in /lib are removed. The hashes will match as this is where you got them from at stage 1!<br />
<br />
==Stage 4 - Install new EPM==<br />
<br />
This stage installs the new EPM in lib, note that it will not enable it, thus no files are copied to the repository directory, these are still not present as they were deleted in Stage 2. <br />
<br />
At this stage the repository config is checked ('''not loaded''') to see if the epm will cause fatal errors. <br />
<br />
If it can load, then it is loaded (unless you are '''upgrading''').<br />
<br />
==Stage 5 - Upgrade==<br />
<br />
This stage enables the epm, installing the repository files and calling a full reload. <br />
<br />
Before it does this reload, the current counters and datasets are retrieved from the running config. '''This is the config that was running before Stage 1, before this whole process started''', thus it will list datasets installed by the old epm. <br />
<br />
A reload is then done and the old datasets and counters compared to those now required after the changes. <br />
<br />
If fields and counters have been added, these are added.<br />
If fields and counters have been removed, '''these are removed'''.<br />
<br />
This means an upgrade will work and '''not delete data'''<br />
<br />
=Important Note=<br />
<br />
If you choose to disable/un-install before installing a new version of a bazaar package then your data '''will''' automatically be removed when the repository is reloaded!<br />
<br />
To keep a dataset, you have to keep it defined in the repository config.</div>Dct05r