eprints / eprints-fr

Extras for French users of EPrints
GNU General Public License v3.0
0 stars 1 forks source link

Error #1

Open tmator opened 10 years ago

tmator commented 10 years ago

Hi,

i'm trying your pugin and i got this :

Are you sure you want to make bulk changes to the eprint table in the insa repository [yes/no] ? yes dataset eprint has no field: doctoral_school dataset eprint has no field: divisions DBI bind_param: invalid number of arguments: got handle + 8, expected handle + between 2 and 3 Usage: $h->bind_param($parameter, $var [, \%attr]) at /opt/eprints3/perl_lib/EPrints/Database.pm line 1182, line 1.

Eprint v 3.3.11

sebastfr commented 10 years ago

Yep work must be done to generalise the plug-in.

The error is telling you that you're missing two fields: "doctoral_school" and "divisions". So I need to write some docs telling which fields are required and/or make sure the plug-in doesn't fail when fields are missing.

tmator commented 10 years ago

This is our export if it can help :

http://staroai.theses.fr/OAIHandler?verb=ListRecords&set=ISAT&metadataPrefix=tef

sebastfr commented 10 years ago

Oh well that's not really the issue - the fields are missing in your EPrints.

The general problem when writing such importers (for TEF in this scenario) is to map their fields to ours. Since people may configure EPrints in a number of different ways, it's hard to foresee what fields one can use on the EPrints-side.

On the repository where I wrote the STAR plug-in:

TEF's MADS_PARTENAIRE_DE_RECHERCHE maps to "divisions" in EPrints.

TEF's MADS_ECOLEDOCTORALE* maps to "doctoral_school".

tmator commented 10 years ago

if i comment line about divisions and doctoral_school i got :

Are you sure you want to make bulk changes to the eprint table in the insa repository [yes/no] ? yes DBI bind_param: invalid number of arguments: got handle + 6, expected handle + between 2 and 3 Usage: $h->bind_param($parameter, $var [, \%attr]) at /opt/eprints3/perl_lib/EPrints/Database.pm line 1182, line 1.

tmator commented 10 years ago

no news ?

sebastfr commented 10 years ago

Hey - no time for this right now. Just add the missing fields perhaps.

sebastfr commented 10 years ago

You're using the OAI harvester tool, right?

tmator commented 10 years ago

yes and eprints 3.3

sebastfr commented 10 years ago

How do you invoke the "harvester" script and what configuration did you add to EPrints?

tmator commented 10 years ago

i add this

$c->{oai_harvester}->{star} = { url => 'http://staroai.theses.fr/OAIHandler?verb=ListRecords', set => 'ISAT', # optional

from => '2001-01-01', # optional, format is YYYY-MM-DD

'until' => '2011-12-31', # optional

metadataPrefix => 'oai_dc', # optional, should be set by the OAIPMH/* plugin

    default_values => sub {                         # optional, gives a chance to set default values
            my( $session, $epdata, $header ) = @_;

# $epdata->{userid} = 4; $epdata->{eprint_status} = 'archive'; #

$epdata->{FIELDNAME} = VALUE;

    },

};

and invoke it with

./bin/oai/harvest insa --plugin=OAIPMH::STAR --conf=star

sebastfr commented 10 years ago

ok - i'll have a poke later on.

sebastfr commented 10 years ago

I've just issued a patch - that allowed me to import theses to a vanilla EPrints (3.3.12).

tmator commented 10 years ago

still same issue, how to congure eprints to have this fields ?

dataset eprint has no field: doctoral_school dataset eprint has no field: divisions

tmator commented 10 years ago

any news ?

sebastfr commented 10 years ago

Comment comptez-vous capturer les champs "Ecoles doctorales" et "Unites de Recherche"? Est-ce qu'ils existent sur votre depot EPrints? Si oui, comment sont-ils configures (text? set? autre?)?

La configuration que j'ai est specifique a l'Universite de Toulouse 1 - donc je ne pense pas que ca vous aidera beaucoup...

tmator commented 10 years ago

nous n'avons pas besoin de ces champs

sebastfr commented 10 years ago

Essayez de commenter les lignes #239 et #247 de STAR.pm et re-essayez?

tmator commented 10 years ago

j'ai essayé pas mieux.

J'ai testé ca :

    #my $ecoles_codes = $self->map_strings_to_namedset( 'doctoral_school', \@ecoles );

    ## Ecole doctorale - single value
    #if( scalar( @$ecoles_codes ) )
    #{
    #       $epdata->{doctoral_school} = $ecoles_codes->[0];
    #}

    #my $unites_codes = $self->map_strings_to_namedset( 'divisions', \@unites_de_recherche );

    # Divisions / Unites de recherche - multiple values
    #if( scalar( @$unites_codes ) )
    #{
    #       $epdata->{divisions} = $unites_codes;
    #}

Et la j'obtiens

Are you sure you want to make bulk changes to the eprint table in the insa repository [yes/no] ? yes DBI bind_param: invalid number of arguments: got handle + 5, expected handle + between 2 and 3 Usage: $h->bind_param($parameter, $var [, \%attr]) at /opt/eprints3/perl_lib/EPrints/Database.pm line 1182, line 1.

sebastfr commented 10 years ago

Ajoutez a la ligne 48:

foreach( keys %$epdata )
{
 delete $epdata->{$_} if( !EPrints::Utils::is_set( $epdata->{$_} ) );
}

juste avant "return $epdata;" et re-essayez? Ca ne marchera peut-etre pas....

tmator commented 10 years ago

cela ne change pas grand chose ...

DBI bind_param: invalid number of arguments: got handle + 7, expected handle + between 2 and 3 Usage: $h->bind_param($parameter, $var [, \%attr]) at /opt/eprints3/perl_lib/EPrints/Database.pm line 1182, line 4.

sebastfr commented 10 years ago

Vous avez envie de debugger Database.pm? Ca serait interessant de voir les donnees qui sont passees au module db.... Sinon je ne peux pas trop vous aider.

Genre a la ligne 1176:

EPrints->dump( $sql ); EPrints->dump( \@values );

Et re-essayez - (et ne redemarrez pas Apache).

tmator commented 10 years ago

Are you sure you want to make bulk changes to the eprint table in the insa repository [yes/no] ? yes $VAR1 = 'UPDATE eprint SET userid=?, official_url=?, rev_number=?, dir=?, keywords=?, lastmod_year=?, lastmod_month=?, lastmod_day=?, lastmod_hour=?, lastmod_minute=?, lastmod_second=?, metadata_visibility=?, eprint_status=?, oai_lastmod=?, status_changed_year=?, status_changed_month=?, status_changed_day=?, status_changed_hour=?, status_changed_minute=?, status_changed_second=?, datestamp_year=?, datestamp_month=?, datestamp_day=?, datestamp_hour=?, datestamp_minute=?, datestamp_second=?, oai_identifier=?, title=?, abstract=?, type=? WHERE eprintid=\'494\''; $VAR1 = [ [ 4, 'http://www.theses.fr/2012ISAT0033', 0, 'disk0/00/00/04/94', 'ARRAY(0x6711280)', '2014', '07', '03', '13', '35', '16', 'show', 'archive', '2013-10-09T13:36:28Z', '2014', '07', '03', '13', '35', '16', '2014', '07', '03', '13', '35', '16', '2012ISAT0033', 'Verification of real time properties in Fiacre language', "Dans cette th\x{e8}se, nous nous int\x{e9}ressons \x{e0} la probl\x{e9}matique de la v\x{e9}rification formelle des syst\x{e8}mes critiques temps r\x{e9}el, c\x{2019}est-\x{e0}-dire des syst\x{e8}mes dont l\x{2019}ex\x{e9}cution d\x{e9}pend de certaines contraintes temporelles. La sp\x{e9}cification formelle des exigences pour de tels syst\x{e8}mes, ainsi que leur v\x{e9}rification, reste une t\x{e2}che tr\x{e8}s compliqu\x{e9}e, surtout pour les non experts. Plusieurs solutions ont \x{e9}t\x{e9} propos\x{e9}es pour faciliter la sp\x{e9}cification et la v\x{e9}rification des syst\x{e8}mes temps-r\x{e9}els. Un premier type d\x{2019}approche est bas\x{e9}e sur la d\x{e9}finition d\x{2019}un ensemble de patrons de sp\x{e9}cification qui repr\x{e9}sentent les propri\x{e9}t\x{e9}s les plus utilis\x{e9}es en pratique. Cependant, ce type de solutions n\x{2019}est pas toujours support\x{e9} par un outillage de v\x{e9}rification efficace, dans le sens que les auteurs de ces langages de patrons ne fournissent pas directement une implantation pour leur langage. Un second type d\x{2019}approches repose sur l\x{2019}utilisation du formalisme des logiques temporelles pour sp\x{e9}cifier les propri\x{e9}t\x{e9}s \x{e0} v\x{e9}rifier et sur les techniques de model-checking pour leur v\x{e9}rification. S\x{2019}agissant de syst\x{e8}mes temps-r\x{e9}els, il est dans ce cas n\x{e9}cessaire d\x{2019}utiliser des extensions temporis\x{e9}es des logiques temporelles. Cependant, ces approches donnent le plus souvent lieu \x{e0} des probl\x{e8}mes de model-checking qui sont ind\x{e9}cidable, ou dont la complexit\x{e9} en pratique est tr\x{e8}s \x{e9}lev\x{e9}e. Dans ce travail, nous suivons la premi\x{e8}re approche et proposons un langage de patrons de propri\x{e9}t\x{e9}s temps-r\x{e9}els accompagn\x{e9}s d\x{2019}un outil de v\x{e9}rification par model- checking. Nous apportons plusieurs contributions \x{e0} ce domaine. Nous proposons un cadre th\x{e9}orique complet pour la sp\x{e9}cification et la v\x{e9}rification de patrons de propri\x{e9}t\x{e9}s temps r\x{e9}el. Notre approche a \x{e9}t\x{e9} implant\x{e9}e dans le contexte du langage de mod\x{e9}lisation Fiacre. Enfin, nous d\x{e9}finissons deux m\x{e9}thodes compl\x{e9}mentaires permettant de v\x{e9}rifier la correction de notre approche de v\x{e9}rification", 'article' ] ]; $VAR1 = 'UPDATE eprint__ordervalues_en SET userid=?, official_url=?, rev_number=?, dir=?, keywords=?, lastmod=?, metadata_visibility=?, eprint_status=?, oai_lastmod=?, status_changed=?, creators_name=?, datestamp=?, oai_identifier=?, title=?, abstract=?, type=?, creators_id=? WHERE eprintid=\'494\''; $VAR1 = [ [ '00000000000000000004', 'http://www.theses.fr/2012ISAT0033', '00000000000000000000', 'disk0/00/00/04/94', [ 'Verification', 'Requirement', 'Specification Patterns', 'Model Checking', 'Observers', 'Real Time Systems' ], '2014-07-03 13:35:16', 'Toujours montrer', "archiv\x{e9}s", '2013-10-09T13:36:28Z', '2014-07-03 13:35:16', 'Abid Nouha ', '2014-07-03 13:35:16', '2012ISAT0033', 'Verification of real time properties in Fiacre language', "Dans cette th\x{e8}se, nous nous int\x{e9}ressons \x{e0} la probl\x{e9}matique de la v\x{e9}rification formelle des syst\x{e8}mes critiques temps r\x{e9}el, c\x{2019}est-\x{e0}-dire des syst\x{e8}mes dont l\x{2019}ex\x{e9}cution d\x{e9}pend de certaines contraintes temporelles. La sp\x{e9}cification formelle des exigences pour de tels syst\x{e8}mes, ainsi que leur v\x{e9}rification, reste une t\x{e2}che tr\x{e8}s compliqu\x{e9}e, surtout pour les non experts. Plusieurs solutions ont \x{e9}t\x{e9} propos\x{e9}es pour faciliter la sp\x{e9}cification et la v\x{e9}rification des syst\x{e8}mes temps-r\x{e9}els. Un premier type d\x{2019}approche est bas\x{e9}e sur la d\x{e9}finition d\x{2019}un ensemble de patrons de sp\x{e9}cification qui repr\x{e9}sentent les propri\x{e9}t\x{e9}s les plus utilis\x{e9}es en pratique. Cependant, ce type de solutions n\x{2019}est pas toujours support\x{e9} par un outillage de v\x{e9}rification efficace, dans le sens que les auteurs de ces langages de patrons ne fournissent pas directement une implantation pour leur langage. Un second type d\x{2019}approches repose sur l\x{2019}utilisation du formalisme des logiques temporelles pour sp\x{e9}cifier les propri\x{e9}t\x{e9}s \x{e0} v\x{e9}rifier et sur les techniques de model-checking pour leur v\x{e9}rification. S\x{2019}agissant de syst\x{e8}mes temps-r\x{e9}els, il est dans ce cas n\x{e9}cessaire d\x{2019}utiliser des extensions temporis\x{e9}es des logiques temporelles. Cependant, ces approches donnent le plus souvent lieu \x{e0} des probl\x{e8}mes de model-checking qui sont ind\x{e9}cidable, ou dont la complexit\x{e9} en pratique est tr\x{e8}s \x{e9}lev\x{e9}e. Dans ce travail, nous suivons la premi\x{e8}re approche et proposons un langage de patrons de propri\x{e9}t\x{e9}s temps-r\x{e9}els accompagn\x{e9}s d\x{2019}un outil de v\x{e9}rification par model- checking. Nous apportons plusieurs contributions \x{e0} ce domaine. Nous proposons un cadre th\x{e9}orique complet pour la sp\x{e9}cification et la v\x{e9}rification de patrons de propri\x{e9}t\x{e9}s temps r\x{e9}el. Notre approche a \x{e9}t\x{e9} implant\x{e9}e dans le contexte du langage de mod\x{e9}lisation Fiacre. Enfin, nous d\x{e9}finissons deux m\x{e9}thodes compl\x{e9}mentaires permettant de v\x{e9}rifier la correction de notre approche de v\x{e9}rification", 'article', '' ] ]; DBI bind_param: invalid number of arguments: got handle + 7, expected handle + between 2 and 3 Usage: $h->bind_param($parameter, $var [, \%attr]) at /opt/eprints3/perl_lib/EPrints/Database.pm line 1183, line 1.

tmator commented 10 years ago

ça vous parle ?

tmator commented 10 years ago

Bonjour,

avez vous du nouveau concernant notre problème ?

Cordialement, Brice Rouanet

tmator commented 10 years ago

Hi,

any news ?