wiki:fr/drafts/modules/wikicms
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.

Version 1 (modified by laurentj, 14 years ago) (diff)

--

Module Wiki/Cms?

Ce module doit permettre de gérer le contenu de pages web. Il doit permettre de créer, modifier, supprimer des pages.

Chaque page est identifiée bien sûr par un nom, apparaissant dans l'url. Une page peut être "fille" d'une autre page, créant ainsi une hiérarchie de page (representée par l'url).

L'url d'une page (et donc son titre) pouvant changer, le cms doit pouvoir gérer automatiquement les redirections, les erreurs 404 etc. Par exemple, lorsqu'on change l'url d'une page, et si l'ancienne url est appelée, le CMS doit redirigé vers l'ancienne. (cela aide les moteurs de recherche etc..).

Le cms historise aussi le contenu des pages.

À prévoir plus tard :

  • système de lock
  • système de gabarit de page

Dans l'idéal, le contenu de chaque page doit pouvoir suivre un système de gabarit : chaque page est un type de page. Chaque type de page est associé à un formulaire jform, à un template d'affichage, un template d'edition etc.. Cela permet d'avoir une édition beaucoup plus ergonomique et simple pour les utilisateurs, et donc d'éviter de toujours avoir qu'un seul champ texte pour le contenu, quelque soit ce qu'on veut y mettre

specs techniques

Table cms_page

id id numérique
id_parent id de la page parente
fullurl url complete (url-page-parent/url-page-parent/url-page)
url_name nom de la page dans l'url (url-page)
type numérique. type de la page
id_page_associee selon le type
url_externe
last_version numéro de la dernière version
date_creation
date_last_modif

Type de la page :

  • 0 page inexistante (id_page_associee=0)
  • 1 page (page normale...id_page_associee=0)
  • 2 redirection temporaire (id_page_associee contient la page vers laquelle rediriger)
  • 3 redirection permanente (id_page_associee contient la page vers laquelle rediriger)
  • 4 alias (id_page_associee contient la page qu'il faut afficher)
  • 5 redirection externe (url_externe contient l'url)

table cms_page_content

id_page (clé primaire)
version (clé primaire)
date_creation
titre
url_name
short_description
content
author_login (login de l'auteur, null si anonymous)
author_name si anonyme..
author_email si anonyme..