developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Changes between Version 3 and Version 4 of fr/drafts/modules/wikicms


Ignore:
Timestamp:
Jan 24, 2007, 11:54:12 AM (14 years ago)
Author:
laurentj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • fr/drafts/modules/wikicms

    v3 v4  
    6868|| id_page_to ||  ||
    6969
     70
     71= CMS avec différents types de pages =
     72
     73Dans un cms simple, une page est toujours identique : un titre, un texte. Mais il serait bien de pouvoir avoir des pages dont le contenu est plus complexe, avec differents types de champs dans le formulaire de saisie, ce qui permet de mieux controler l'affichage, de mieux présenter une page en fonction de son contenu.
     74
     75Voici differentes solutions possibles.
     76
     77
     78
     79== Solution A : tout dans la même table cms_page_content ==
     80
     81   * Une table cms_page pour référencer toutes les pages, leur type etc.
     82   * Une table cmd_page_content, contenant les différentes versions du contenu des pages, avec un champs "content" contenant les différents champs du formulaire, encapsulé dans un format xml, json ou autre.
     83
     84
     85=== développement à faire pour ajouter un type de page ===
     86
     87 * un formulaire
     88 * un template view
     89 * un template edition
     90 * indication quels champs du formulaire sont historisés, lesquels ne sont pas
     91 * indication quels champs du formulaire peuvent servir de critère de recherche ou ceux à indexer pour la recherche
     92
     93=== affichage historique d'une page ===
     94
     95select sur cms_page_content
     96
     97=== affichage différence entre deux versions ===
     98
     99 * recupération du content des deux enregistrements
     100 * désencapsulation des valeurs
     101 * affichage diff de chaque valeur (titre et liste de champs, on les prends dans le jform)
     102
     103=== moteur de recherche global ===
     104
     105faut stocker les valeurs "cherchable" dans un moteur d'indexation..
     106
     107=== moteur de recherche spécifique au type de page ===
     108
     109 * liste des champs critères : dans le jform ou la conf du type de page.
     110 * la recherche : pas vraiment possible
     111
     112=== affichage d'une version ===
     113 * select sur le cms_page_content
     114 * désencapsulation des valeurs
     115 * utilisation du template fourni
     116       
     117=== utilisation "externe" des données (en dehors du cms, par un autre module...) ===
     118
     119requete sql impossible, sauf un banal select, et lecture à la main du contenu
     120
     121
     122== Solution B - une table pour chaque type de contenu ==
     123
     124=== developpement à faire pour ajouter un type de page ===
     125 * un dao (doit contenir des champs prédéfinis?)
     126 * un formulaire
     127 * un template view
     128 * un template edition
     129 * un template formulaire recherche
     130 *  indiquation quels champs peuvent servir de critère de recherche ou ceux à indexer pour la recherche
     131 * une table specifique
     132
     133=== affichage historique ===
     134
     135select sur cms_page_content
     136
     137=== affichage différence entre deux versions ===
     138 * recupération du content des deux enregistrements dans la table de type
     139 * affichage diff de chaque valeur (titre et liste de champs, on les prends dans le jform)
     140
     141=== moteur de recherche global ===
     142
     143faut stocker les valeurs "cherchable" dans un moteur d'indexation..
     144
     145=== moteur de recherche specifique au type de page ===
     146
     147suffit de faire les selects qui vont bien...
     148
     149=== affichage d'une version ===
     150
     151 * select sur le cms_page_content
     152 * utilisation du template fourni
     153
     154=== utilisation "externe" des données (en dehors du cms, par un autre module...) ===
     155aucune difficulté, suffit de faire les manipulations sql que l'on veut sur la table du contenu.
     156
     157
     158== Solution C - une table pour chaque type de contenu, mais table de versionning commune ==
     159
     160à developper...
     161
     162
     163
     164
     165
     166
     167