[spip-dev] r24351 - in spip: . ecrire ecrire/action ecrire/inc ecrire/maj

Le 25/07/2019 à 18:44, Cerdic@ns2.freenix.org a
écrit :> Author: Cerdic

Date: 2019-07-25 18:43:59 +0200 (jeu, 25 jui 2019)
New Revision: 24351

Log:
migration des logos en base - les eventuels logos en doublons ou

fichier artonxxxxx parasite sont deplaces dans IMG/logo_erreurs/

A noter : le core migre les logos de tous les objets connus au moment

de l'upgrade, mais si un plugin se desactive car pas compatible, ses
logos ne seront pas migres. Il y a donc une fonction generique
logo_migrer_en_base() generique que chaque plugin sera avise d'ajouter a
ses upgrades pour SPIP 3.3

Modified:
   spip/
   spip/ecrire/action/editer_logo.php
   spip/ecrire/inc/chercher_logo.php
   spip/ecrire/inc_version.php
   spip/ecrire/maj/svn10000.php
   spip/ecrire/paquet.xml

Details: http://core.spip.org/projects/spip/repository/revisions/24351

Hola

Après un svn up ce matin je n'ai pas le logo du site.

Donc c'est une SPIP 3.3.0-dev SVN [24351]
Je me connecte
Spip m'annonce qu'il doit mettre la base à jour pour cette version
J'ai bien un dossier logo_erreurs dans IMG avec le pauvre siteon0.svg à
l'intérieur

J'avais deux plugins aussi
Formulaire upload html5 2.0.7t
Saisie Uploadhtml5 1.0.5
Je les désactive

Quand je veux ajouter le logo via
ecrire/?exec=configurer_identite
rien ne se passe, il ignore l'upload
Mais je peux uploader via
ecrire/?exec=documents > Ajouter un document

Voili

Oups ! Petite précision

J'ai un nouveau dossier dans IMG "logo" at là il y a toutes les
bestioles même les fichier uploadés via uploadhtml5 mais compressés
uploadhtml5_gmywjm.zip

Les logos des articles fonctionnent en revanche comme avant et sont dans
ce dossier "logo"

A +

OK, en effet, le cas particulier du site 0 était bloqué par un certain nombre de tests sur intval($id_objet)
J’ai ajouté une condition pour l’autoriser sur l’objet site, mais peut-être il faudrait modifier la condition : si le id_objet passé est vraiment un 0 l’accepter quel que soit l’objet

Un up du core et du plugin medias devrait donc résoudre ça
(le logo était normalement bien migré dans le dossier logo/ et dans la base, il manquait juste le lien)

Farpait !

Mais il fait collection. Il ne supprime pas les précédents comme avant
(c'était bien ça, non ?)

Il me garde l'ancien
logozitz.svg
et renomme le nouveau
logozitz-2.svg

A part ça il ne les renomme plus en siteon0

Une broutille, tu me diras, et je ne dirai pas non :wink:

A +

Si si quand tu upload un nouveau logo il supprime le précédent référencé en base, mais comme ici le logo avait bien été uploadé mais pas lié on est dans un cas foireux. Donc l’ancien est resté et le nouveau a été renommé.
Et oui on garde maintenant le nom des fichiers, comme pour les documents, en les suffixant éventuellement en cas de doublon

Hello,

Pour le logo du site, en utilisant ‘site’ comme nom d’objet, est-ce qu’il n’y a pas une confusion possible avec l’objet site syndiqué ?
‘site’ étant un surnom de la table spip_syndic :

Dans rôles de documents pour lever toute ambiguité je m’étais rabattu sur ‘site_spip’.

C’est le même objet, mais tu n’as jamais de id_syndic=0, c’est donc un cas particulier
(Et on a pas plus de risque de collision qu’avant donc)

Si si quand tu upload un nouveau logo il supprime le précédent référencé
en base, mais comme ici le logo avait bien été uploadé mais pas lié on
est dans un cas foireux. Donc l’ancien est resté et le nouveau a été
renommé.

Oui, suis-je bête. Faut supprimer avant d'uploader

Et oui on garde maintenant le nom des fichiers, comme pour les
documents, en les suffixant éventuellement en cas de doublon

Ok. Il ne me reste qu'à comprendre pourquoi uploadhtml5 me compresse les
bestioles. Une piste ? C'est qu'il lui faut logo_migrer_en_base() ?

Hop,

OK, en effet, le cas particulier du site 0 était bloqué par un certain nombre de tests sur intval($id_objet)
J’ai ajouté une condition pour l’autoriser sur l’objet site, mais peut-être il faudrait modifier la condition : si le id_objet passé est vraiment un 0 l’accepter quel que soit l’objet

Un up du core et du plugin medias devrait donc résoudre ça
(le logo était normalement bien migré dans le dossier logo/ et dans la base, il manquait juste le lien)

Pour info, je viens de tester une migration des logos sur une 3.3 dev up sur git 186694c et tous les plugins-dist à jour en svn.

Tous mes logos ont bien migré dans IMG/logo et sont bien référencés en base, sauf siteon0.png qui a été déplacé dans IMG/logo_erreurs et dont je ne trouve aucune trace en base. Je ne le vois pas non plus dans medias/log, cf :

2019-07-30 11:26:55 127.0.0.1 (pid 2181) :Pri:info: ajout du document ../IMG/logo/arton6.jpg arton6.jpg (M 'logoon' T 'article' L '6' D '57')
2019-07-30 11:26:55 127.0.0.1 (pid 2181) :Pri:info: ajout du document ../IMG/logo/arton63.jpg arton63.jpg (M 'logoon' T 'article' L '63' D '58')
2019-07-30 11:26:55 127.0.0.1 (pid 2181) :Pri:info: ajout du document ../IMG/logo/arton8.jpg arton8.jpg (M 'logoon' T 'article' L '8' D '59')
2019-07-30 11:26:55 127.0.0.1 (pid 2181) :Pri:info: ajout du document ../IMG/logo/auton1.jpg auton1.jpg (M 'logoon' T 'auteur' L '1' D '60')
2019-07-30 11:26:55 127.0.0.1 (pid 2181) :Pri:info: ajout du document ../IMG/logo/auton2.jpg auton2.jpg (M 'logoon' T 'auteur' L '2' D '61')
2019-07-30 11:26:55 127.0.0.1 (pid 2181) :Pri:info: ajout du document ../IMG/logo/moton2.jpg moton2.jpg (M 'logoon' T 'mot' L '2' D '62')
2019-07-30 11:26:55 127.0.0.1 (pid 2181) :Pri:info: ajout du document ../IMG/logo/siteon2.jpg siteon2.jpg (M 'logoon' T 'site' L '2' D '63')

En effet comme tu l’as fait remarqué sur IRC il restait un cas de test sur id_objet qui excluait siteon0
Ça devrait être bon maintenant :slight_smile:

Est-ce que chez vous ça résiste une réinitialisation de la liste des
travaux ? Si je réinitialise je perds le logo site

Hop,

Oué, sisi je reproduis : réinit travaux > admin plugins > identité > plus de logo de site.

Et en fait le cron de nettoyage des liens morts doit passer par là certainement :slight_smile: Oui un lien vers site-0 c’est un lien mort :slight_smile:

MM.

Ah, ça me rassure, je me disais que j'avais encore frappé. En revanche,
je ne pas été capable de voir quelle tâche produit ça. Si j’exécute une
par une je n'arrive pas à reproduire, ce n'est que quand je réinitialise
tout

Si j’exécute une

par une je n'arrive pas à reproduire, ce n'est que quand je réinitialise
tout

Tentes 'Optimiser', très efficace :slight_smile:

MM.

Pas pigé… :frowning:

24362 c'est bon