Je sais que apostrophe-pieces-import travaille pour des pièces, je me demandais s'il y avait un moyen d'importer des pages et du contenu via CSV. Je prévois de scrapper notre ancien site et de le migrer en apostrophe-cms.Existe-t-il un moyen d'importer des pages via CSV dans apostrophe-cms
Répondre
Actuellement, il n'y en a pas. Cependant ce n'est pas difficile de faire du bricolage. Si vous jetez un oeil dans MongoDB, vous découvrirez qu'une page est aussi simple que vous l'espériez. Importer des médias en tant que pièce jointe Apostrophe est le bit le plus difficile. Si vous consultez le module apostrophe-legacy-import
, vous trouverez notre code pour la migration du contenu de 0.5 à 2.x, qui couvre ce cas d'utilisation et pourrait être emprunté de manière très rentable pour vos besoins.
L'aspect le plus important du bricolage est de comprendre le fonctionnement des relations entre les pages. Chaque page a à la fois un slug
et un path
. slug
est ce que vous voyez dans la barre d'adresse, mais path
exprime la véritable relation entre cette page et les autres.
La page d'accueil aura son path
ensemble à /
et ses enfants directs pourrait être /about
, /contact
, etc. Leurs enfants seront /about/people
, /about/services
, etc. Et ceux-ci reste la même, contenant toujours le chemin du parent en tant que préfixe, même si le slug est modifié par souci de concision par l'utilisateur final. En outre, chaque page possède une propriété rank
. Cela exprime son rang parmi les enfants du même parent, à partir de 0
.
Enfin, la propriété level
représente la profondeur de la page dans le site. La page d'accueil est toujours au niveau 0
. Techniquement, cela duplique les informations que vous pourriez analyser à partir de path
mais c'est beaucoup plus pratique lorsque vous voulez connaître rapidement la profondeur d'une page.
En outre, toutes les pages (et tous les documents en général) auront un _id
unique, qui devrait être une chaîne (nous vous recommandons d'utiliser apos.utils.generateId
, n'utilisez jamais un identifiant MongoDB généré automatiquement). Ils auront également un title
, et tags
devrait au moins être un tableau même s'il est vide.
Quoi d'autre à inclure est à vous; vous pouvez inspecter n'importe quel document dans mongodb pour voir comment les zones sont représentées, et les champs de schéma sont encore plus simples.
Je dois importer à partir d'un fichier CSV gratté d'écran puisque je suis sûr qu'il n'y a pas un importateur Umbraco 4 à apostrophe cms. –
Je comprends. La technique que j'ai décrite est votre meilleure approche pour le moment. Vous pouvez nous contacter pour classer par ordre de priorité un importateur de pages CSV en tant que projet de soutien aux entreprises. –