Open tmator opened 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.
This is our export if it can help :
http://staroai.theses.fr/OAIHandler?verb=ListRecords&set=ISAT&metadataPrefix=tef
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".
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,
no news ?
Hey - no time for this right now. Just add the missing fields perhaps.
You're using the OAI harvester tool, right?
yes and eprints 3.3
How do you invoke the "harvester" script and what configuration did you add to EPrints?
i add this
$c->{oai_harvester}->{star} = { url => 'http://staroai.theses.fr/OAIHandler?verb=ListRecords', set => 'ISAT', # optional
default_values => sub { # optional, gives a chance to set default values
my( $session, $epdata, $header ) = @_;
# $epdata->{userid} = 4; $epdata->{eprint_status} = 'archive'; #
},
};
and invoke it with
./bin/oai/harvest insa --plugin=OAIPMH::STAR --conf=star
ok - i'll have a poke later on.
I've just issued a patch - that allowed me to import theses to a vanilla EPrints (3.3.12).
still same issue, how to congure eprints to have this fields ?
dataset eprint has no field: doctoral_school dataset eprint has no field: divisions
any news ?
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...
nous n'avons pas besoin de ces champs
Essayez de commenter les lignes #239 et #247 de STAR.pm et re-essayez?
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,
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....
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,
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).
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,
ça vous parle ?
Bonjour,
avez vous du nouveau concernant notre problème ?
Cordialement, Brice Rouanet
Hi,
any news ?
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