CMS Automne
http://www.automne-cms.org/forum/

Migration d'un autre CMS vers Automne 4
http://www.automne-cms.org/forum/viewtopic.php?f=2&t=464
Page 1 sur 1

Auteur:  jmarc [ Ven Mars 13, 2009 7:48 pm ]
Sujet du message:  Migration d'un autre CMS vers Automne 4

Bonjour Sébastien,

Je m'occupe d'un site qui tourne actuellement sous Typo3 et j'étudie la possibilité de basculer l'ensemble sur Automne 4.

Pour pouvoir réaliser un prototype, j'ai besoin de comprendre vers quelles tables/champs je dois transférer mes contenus et quelles règles respecter pour importer proprement, dans Automne 4, la structure et le contenu de mes pages (plusieurs milliers).

Comment puis-je accéder à ces informations indispensables ? Existe t-il des documents qui pourraient m'être transmis ?

Citer:
Premiers éléments de réponse de Sébastien :

Ce que vous souhaitez faire n'a jamais été réalisé jusqu'à présent à ma connaissance et nous serions évidemment intéressé d'en connaître la faisabilité.

Ceci étant dit, la tâche ne me semble pas particulièrement aisée.
Deux raisons à cela :
- la structure de base de données d'Automne est assez conséquente.
- la documentation est assez sporadique à l'heure actuelle. Cela va changer car nous allons documenter Automne au maximum d'ici la sortie de la version finale (prévue pour mi-2009) mais d'ici là, vous n'aurez pas grand chose pour vous aider à ce sujet.

Je vous déconseille fortement d'attaquer cela directement au niveau de la base de données car le nombre de tables impliquées et le nombre de liaisons entre elles rendra délicat votre travail et les scripts que vous pourrez créer n'auront qu'une durée de vie minime car la structure de base évolue avec les mises à jour.

Il serait plus judicieux de le faire au niveau objet de PHP directement mais cela reste un travail très lourd.

Pour vous donner un aperçu rapide, voila une description sommaire de la notion technique de page dans Automne :

Une page (table pages) est constituées de propriétés (tables pagesBaseData_*), d'un modèle (table pageTemplates) clone du modèle original (table pageTemplates).
Ce modèle possède des espaces clients (fichier XML dans /automne/templates). Ces espaces clients comportent des rangées (tables mod_standard_clientSpaces_*) prises à partir de la bibliothèque de rangées (table mod_standard_rows + fichiers XML dans /automne/templates/rows).
Enfin les différentes rangées présentes dans les espaces clients du modèle de la page contiennent des blocks de contenu (tables block*_*)

Les différentes tables comportant des * ci-dessus sont des tables soumises au processus de validation. Leurs données peuvent se trouver dans différents états (edited au minimum, edited et public si la page est publique). Le statut de ce processus de validation est contrôle par ce que nous appelons une ressource (tables resources et resourceStatuses).

Enfin, la page est liées à d'autres pages à travers l'arborescence (tables linx_tree_*).

Voila de façon très courte ce qu'il va falloir que vous reconstituez au minimum lors de votre migration.

Pour essayer de comprendre au mieux le processus de création d'une page, je vous recommande de regarder le fichier /automne/admin/page-controler.php (action creation). Cela vous donnera les opérations effectuées à la création d'une page. Le reste de ce fichier vous donnera les autres opérations courantes effectuées sur les pages depuis l'administration d'Automne.

Vous pouvez aussi regarder le fichier /automne/admin/page-content-controler.php qui lui se charge des opérations sur le contenu même des pages.

Auteur:  jmarc [ Sam Mars 14, 2009 3:39 pm ]
Sujet du message:  Re: Migration d'un autre CMS vers Automne 4

Sébastien a écrit:
Je vous déconseille fortement d'attaquer cela directement au niveau de la base de données car le nombre de tables impliquées et le nombre de liaisons entre elles rendra délicat votre travail et les scripts que vous pourrez créer n'auront qu'une durée de vie minime car la structure de base évolue avec les mises à jour.

Il serait plus judicieux de le faire au niveau objet de PHP directement mais cela reste un travail très lourd.


D'accord avec ces arguments... J'ai donc exploré le code en partant des indications données.
Avec pas mal de sueur compte tenu de mon inexpérience en programmation orientée objet, j'arrive à voir et comprendre comment les données sont créées dans les tables d'Automne 4.
Par contre, de là a être capable d'exploiter les classes et les fonctions existantes... c'est une autre histoire, surtout avec la couche Javascript qui vient s'ajouter en interface :?.

J'ai peur que l'investissement en temps pour maîtriser tout cela sans documentation exhaustive soit un peu trop important juste pour réaliser un proto de validation. Je vais donc essayer plutôt de migrer directement mes données dans la base de données Automne car je maîtrise bien ces manipulations.

Tant pis pour la pérennité des scripts qui devront être éventuellement adaptés en cas de modification de la structure de base.

Auteur:  jmarc [ Dim Mars 15, 2009 12:14 pm ]
Sujet du message:  Le champs rowsDefinition_cs

Une petite question en passant :
Dans la table mod_standard_clientSpaces_xxx, à quoi sert le champs rowsDefinition_cs et comment est-il calculé (ou dans quel fichier/fonction) ? :?

Auteur:  Sébastien [ Mar Mars 17, 2009 9:34 am ]
Sujet du message: 

C'est un identifiant unique permettant de faire le lien avec les champs blocks*_* (champs rowID).

Pour sa génération, n'importe quel identifiant unique fera l'affaire.

Page 1 sur 1 Le fuseau horaire est UTC [Heure d’été]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/