Retour : Page Principale > sommaire applications botaniques > CEL

MĂ©mo sur la refactorisation de la possibilitĂ© de lier plusieurs obs Ă  une mĂȘme image


Objectif : garder seulement deux tables cel_obs et cel_images avec un lien entre obs et image maintenu par un champ ce_observation présent dans la table cel_images

Possibilités
  1. Supprimer la fonctionnalité
  2. Remplacer la table cel_obs par un champ id_obs_complement contenant les id des obs supplémentaires séparées par des virgules
  3. Utiliser la table cel_obs_image seulement pour stocker les liens avec les obs supplémentaires
  4. Ajouter un champ id_fichier contenant l'id du fichier réél de l'image stockĂ© sur le serveur et dupliquer la ligne de l'image quand on lie une nouvelle obs Ă  une image. Un nouveau id_image est gĂ©nĂ©rĂ© mais le id_fichier reste le mĂȘme que celui de l'image principale.

Solution 1

Avantage :
  • rapide et facile Ă  rĂ©aliser
  • moins de code
Inconvénient :
  • entrainera l'upload et le stockage multiple de la mĂȘme image sur le serveur pour simuler cette fonctionnalitĂ©...

Solution 2 et 3

Avantage :
  • permet de rĂ©pondre Ă  l'objectif sans trop de modification dans le code
Inconvénient :
  • obliges Ă  modifier toutes les applis si elles veulent utiliser l'image pour ces obs secondaires
  • dĂ©normalisation : requĂȘtes SQL non standards... moins performantes...
  • oblige Ă  revoir comment sont gĂ©rĂ©es les images dans le CEL.

Solution 4

Avantage :
  • transparent pour le fonctionnement actuel vis Ă  vis des obs principale
  • requĂȘtes SQL standard et performante pour extraire les donnĂ©es
  • maintient de la fonctionnalitĂ© sans nĂ©cessitĂ© d'uploader et stoker plusieurs fois la mĂȘme image
Inconvénient :
  • obliges Ă  modifier sur toutes les applis la façon dont est gĂ©nĂ©rĂ© l'url du fichier image.
  • oblige Ă  revoir comment sont gĂ©rĂ©es les images dans le CEL.
  • nĂ©cessite de maintenir sur plusieurs lignes les infos de l'image

Solution retenue

La solution n°1 a été retenu car en septembre 2014 seulement 90 images sur 200 000 possédent plusieurs observations liées...
Par ailleurs, aucune application (à part le CEL) ne prend en compte cette possibilité.
Cette solution est mis en œuvre dans la version 2.8 du CEL.