Création de set pour flux oai

25 views
Skip to first unread message

Médiathèque du Cateau-Cambrésis

unread,
Mar 31, 2021, 4:05:16 AM3/31/21
to Omeka FR

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.

acan...@gmail.com

unread,
Apr 15, 2021, 5:46:13 AM4/15/21
to Omeka FR
Bonjour, 

bon j'ai finalement trouvé une évolution de Daniel Berthereau dans le git du plugin.
en jouant avec les paramètres on obtient les exports voulus.

si tu lis ce post Daniel, merci à toi
Reply all
Reply to author
Forward
0 new messages