Daniel-KM / Omeka-S-module-Next

Module for Omeka S that brings together various features too small to be a full module; may be integrated in the next release of Omeka S, or not.
Other
3 stars 1 forks source link

Problème de comptabilité avec avec le plugin CleanUrl #5

Open antoinecourtin opened 4 years ago

antoinecourtin commented 4 years ago

Bonjour Daniel,

Petite question : quand j'essaie d'activer ce module sur une instance avec le module cleanURL, j'ai systématique un message d'erreur lorsque je consulte un item. (je souhaite utiliser ce plugin pour l'option "previous>next ressource". Merci d'avance,

Daniel-KM commented 4 years ago

Bonjour Antoine, Il y avait un bug sur cette fonction que j'ai corrigé la semaine dernière. Est-ce la version 3.1.2.28?

FedericoNurra commented 4 years ago

Bonjour Daniel, Je suis un collègue d'Antoine, on travaille ensemble sur les projets Omeka S. Oui, la version qu'on utilise est bien la 3.1.2.28. Coté front, aucun souci, côté back, dès que j'essaie d’accéder à une ressource en mode admin, Omeka affiche « Omeka S a rencontré une erreur ». Cela ne concerne pas que l'incompatibilité avec CleanUrl : je viens de désactiver tous les modules sauf Next et le problème se pose quand même (j'ai essayé sur deux instances, ver. Omeka s 2.1.0 et 2.0.2). Je vous remercie d'avance,

FedericoNurra commented 4 years ago

Je vous joins le log :

omeka_next_log.txt

Daniel-KM commented 4 years ago

Le concept de "précédent" et "suivant" est plus complexe qu'il n'y paraît dans Omeka. Il y a sans doute encore un bug dans le module.

En attendant la correction, il faut ajouter return; ligne https://github.com/Daniel-KM/Omeka-S-module-Next/blob/master/src/View/Helper/BrowsePreviousNext.php#L53 pour désactiver la fonction.

Daniel-KM commented 4 years ago

J'ai essayé la requête ligne 51 du log et elle fonctionne bien :

SELECT y.position
FROM (
    SELECT x.id_0 as id, @rownum := @rownum + 1 AS position
    FROM (
        SELECT r0_.id AS id_0, r0_.title AS title_1, r0_.is_public AS is_public_2, r0_.created AS created_3, r0_.modified AS modified_4, r0_.resource_type AS resource_type_5, r0_.owner_id AS owner_id_6, r0_.resource_class_id AS resource_class_id_7, r0_.resource_template_id AS resource_template_id_8, r0_.thumbnail_id AS thumbnail_id_9 
        FROM item i1_ 
        INNER JOIN resource r0_ ON i1_.id = r0_.id 
        LEFT JOIN `value` v2_ ON r0_.id = v2_.resource_id AND (v2_.property_id = 1) 
        GROUP BY r0_.id 
        ORDER BY 
        GROUP_CONCAT(v2_.`value`  ORDER BY v2_.id ASC) ASC, r0_.id ASC
    ) x
    JOIN (SELECT @rownum := 0) row
) y
WHERE y.id = 5071;

Que se passe-t-il quand on l'exécute directement sur le serveur de la base de données ? Quelle est la version de la base ?

FedericoNurra commented 4 years ago

Merci Daniel, En effet, avec la modification proposée (que je viens de mettre en place), on peut bien utiliser tous les fonctionnalités du modules, sauf le prev/next. C'est dommage, car c'était la partie la plus importante pour nous :) mais c'est déjà énorme pouvoir utiliser le module. Encore merci.

FedericoNurra commented 4 years ago

On s'est croisé, désolé. La version : mysql Ver 8.0.19

Daniel-KM commented 4 years ago

Cela semble lié à mysql. Le plus simple est de passer à mariaDb...

FedericoNurra commented 4 years ago

En effet, je viens de vérifier sur un environnement de développement avec mariaDb et cela ne pose aucun problème. On va évaluer la possibilité de passer à mariaDb aussi en prod. Merci !

Daniel-KM commented 4 years ago

J'ai mis une option pour désactiver la fonctionnalité.