Bonjour,
Afin d'envoyer mes flux oai vers Gallica, je dois revoir nos collections qui ne sont pas constituées d'ensembles homogènes. Plutôt que revoir mes collections, je me suis dit qu'il devait bien avoir un script pour me générer le fichier xml bien formé.
Visiblement le plugin OIARepository ne permet que la génération de flux par collection et je n'ai pas trouvé de fork qui permettent un classement par type.
Bref, j'ai fouillé le code. A priori, en adaptant juste la fonction (ResponseGenerator.php) listSets(), il se pourrait que l'on puisse générer un classement par type. Mes compétences en dév. sont bien bien rouillées, j'ai péniblement modifié la requête SQL et là je réapprends à tester du php...le but étant de reprendre le classement par itemtype
private function listSets()
{
$db = get_db();
$select = new Omeka_Db_Select();
$select
->from(array('itemtypes' => $db->ItemType))
->joinInner(array('items' => $db->Item), 'items.item_type_id =
itemtypes.id', array())
->where('items.public = 1')
->group('items.item_type_id');
$collections = get_db()->getTable('ItemType')->fetchObjects($select);
if(count($collections) == 0)
$this->throwError(self::OAI_ERR_NO_SET_HIERARCHY);
$listSets = $this->document->createElement('ListSets');
if(!$this->error) {
$this->document->documentElement->appendChild($listSets);
foreach ($collections as $collection) {
$elements = array(
'setSpec' => $collection->id,
'setName' => $collection->name,
);
$set = $listSets->appendNewElementWithChildren('set', $elements);
$this->_addSetDescription($set, $collection);
}
}
}
Je viens vers vous car je suis assez étonné de ne pas avoir trouvé de fork et je me demande si ce n'est pas moi qui ai tout faux...si je m'embarque pas dans un dev. infini sachant que j'ai du mal dès la première fonction et que finalement il serait peut être préférable de repenser mes collections.