Refactoring en cours

De Sydonie

Centralisation d'un package de classe

Mettre les fichiers :

  • config de classe : config.xml (*)
  • formulaires : availableFields/NomClasse.xml et enabledFields/NomClasse.xml => changer la structure (*)
  • templates : templates/*.tpl.html et templates/templates.xml (*)
  • NomClasse.php : la classe PHP proprement dite
  • NomClasse_Ui_Xhml.php
  • NomClasse_Storage_Db.php
  • NomClasse_Controller.php
  • NomClasse_Input_Xhtml.php
  • NomClasse_Checker.php (**)
  • NomClasse_Initializer.php (**)

On devra pouvoir rajouter un fichier :

  • keys.php (à transformer en xml?) pour donner les actions possible sur les instance de la classe (*)


Il faut que la visibilité du fichier "config.xml" soit limitée au package voire à NomClasse.php(*)


Changer l'extension XML ?

(*) Todo

(**) Reste à) gérer l'héritage (simple)

Gestion des SpecificData

FAIT : Revoir l'idée des 4 types possibles des Statement => avoir un champ type et un champ value (text) pour pouvoir utiliser tout type que l'on veut et être extensible.

TODO :

  • factory pour les différents types
  • mettre à l'épreuve le système
  • gérer les SpecificData pour Expression et Manifestation => voir à factoriser avec AbstractEntity (JML)

Gestion des Input

Revoir le code la classe Sydonie_Bb_Input

Configuration des données obligatoires

Problème des "mandatory" dans les SocialEntities

Revoir dans Sydonie_Tools_Class la méthode isMAndatory qui ne devrait pas remonter l'arbre mais déléguer aux classes parentes

À DISCUTER : mandatoryProp est VIDE pour les classes dérivant de Document car les données obligatoires de Work, Expression et Manifestation sont en dur, venant de FRBR. Les données où on a le choix sont dans les SpecificData (et donc dans la config)