Site icon Blog ARC Optimizer

Trois conseils pour ajouter un site sans tĂȘte dans XM Cloud / Blogs / Perficient

Trois conseils pour ajouter un site sans tĂȘte dans XM Cloud / Blogs / Perficient


Introduction 📖

Dans cet article, j’aborderai trois conseils que les dĂ©veloppeurs devraient prendre en compte lors du dĂ©ploiement d’un nouveau site sans tĂȘte sur XM Cloud. Ayant rĂ©cemment ajoutĂ© un nouveau site sans tĂȘte Ă  une solution existante, j’ai rencontrĂ© quelques problĂšmes. J’espĂšre sauver d’autres personnes de maux de tĂȘte similaires Ă  l’avenir (principalement moi-mĂȘme 😉). Si vous avez rĂ©cemment ajoutĂ© un nouveau site sans tĂȘte Ă  votre solution XM Cloud et que vous rencontrez des difficultĂ©s pour que le site apparaisse et fonctionne correctement, veuillez continuer Ă  lire 👇.

1. VĂ©rifiez l’élĂ©ment de dĂ©marrage du nouveau site đŸš©

AprĂšs avoir dĂ©ployĂ© votre nouveau site, si vous remarquez que le site n’apparaĂźt pas sur le Sites page de destination dans XM Cloud (https://xmapps.sitecorecloud.io/?tab=tools&tenantName=&organization=), vĂ©rifiez que le site ÉlĂ©ment de dĂ©part le champ est dĂ©fini. Ce champ se trouve sur le site Regroupement de sites Ă©lĂ©ment dont le chemin est (gĂ©nĂ©ralement) le suivant :

/sitecore/content/<site_collection>/<site>/Settings/Site Grouping/<site>

De plus, assurez-vous que l’élĂ©ment rĂ©fĂ©rencĂ© est physiquement prĂ©sent dans l’arborescence du contenu. Si le ÉlĂ©ment de dĂ©part n’est pas prĂ©sent, le site n’apparaĂźtra pas dans XM Cloud.

VĂ©rifiez que l’élĂ©ment de dĂ©marrage est dĂ©fini et pointe vers une page rĂ©elle.

Dans mon cas particulier, j’avais initialement mal configurĂ© la sĂ©rialisation pour le nouveau site et exclu par inadvertance le nom du nouveau site. Maison article. Le ÉlĂ©ment de dĂ©part Le champ Ă©tait dĂ©fini, mais il ne pointait vers rien dans l’environnement cible, donc mon nouveau site n’apparaissait pas dans XM Cloud đŸ€Šâ€â™‚ïž.

2. VĂ©rifiez les Ă©lĂ©ments de l’hĂŽte de rendu đŸ€–

Si votre nouveau site apparaĂźt dans XM Cloud mais que vous ne pouvez ouvrir aucune page dans Experience Editor ou Preview, il se peut que quelque chose ne fonctionne pas avec les Ă©lĂ©ments de l’hĂŽte de rendu.

Chaque solution XM Cloud comprend un xmcloud.build.json fichier dans le rĂ©pertoire racine. Il s’agit du fichier de configuration de build XM Cloud ; il contrĂŽle la maniĂšre dont XM Cloud crĂ©e et dĂ©ploie la solution. Ce fichier contient une liste des hĂŽtes de rendu que XM Cloud doit provisionner et dĂ©marrer dans le cadre d’un dĂ©ploiement. Les hĂŽtes de rendu (Ă©galement parfois appelĂ©s « hĂŽtes d’édition » dans le contexte d’un CM) sont nĂ©cessaires pour piloter les fonctionnalitĂ©s d’éditeur d’expĂ©rience et d’aperçu de Sitecore. Le xmcloud.build.json le fichier est assez important et utile ; pour plus d’informations sur ce fichier et ce qu’il peut faire, veuillez vous rĂ©fĂ©rer Ă  la documentation officielle ici : https://doc.sitecore.com/xmc/en/developers/xm-cloud/the-xm-cloud-build-configuration.html.

Il devrait y avoir une entrĂ©e dans le renderingHosts propriĂ©tĂ© du xmcloud.build.json fichier pour chaque application sans tĂȘte distincte de votre solution. Notez cependant qu’il est possible d’exĂ©cuter multiple sites sans tĂȘte avec une seule application principale utilisant le module complĂ©mentaire multisite JSS. Pour plus d’informations sur les avantages et les inconvĂ©nients de l’une ou l’autre approche, consultez cet article du dĂ©veloppeur Sitecore : https://developers.sitecore.com/learn/accelerate/xm-cloud/pre-development/project-architecture/multisite#web-application.

Pour les besoins de cette astuce, supposons qu’il existe deux sites sans tĂȘte, chacun avec sa propre application Next.js sans tĂȘte exĂ©cutant diffĂ©rentes versions de Node (ce qui implique Ă©galement la nĂ©cessitĂ© de deux hĂŽtes de rendu distincts : un hĂŽte de rendu ne peut pas exĂ©cuter plusieurs versions. de Node/Next.js). Disons que xmcloud.build.json le fichier ressemble Ă  ceci :

{
    "renderingHosts": {
        "mysite1": {
            "path": "./src/rendering-mysite1",
            "nodeVersion": "16.15.1",
            "jssDeploymentSecret":"<redacted>",
            "enabled": true,
            "type": "sxa",
            "lintCommand": "lint",
            "startCommand": "start:production"
        },
        "mysite2": {
          "path": "./src/rendering-mysite2",
          "nodeVersion": "20.14.0",
          "jssDeploymentSecret":"<redacted>",
          "enabled": true,
          "type": "sxa",
          "lintCommand": "lint",
          "startCommand": "start:production"
      }
    },
    ...

Lorsque XM Cloud exĂ©cute un dĂ©ploiement, il lit le xmcloud.build.json fichier, parcourt le renderingHosts propriĂ©tĂ© et approvisionne les conteneurs concernĂ©s en coulisses. Une fois le dĂ©ploiement terminĂ©, les Ă©lĂ©ments de l’hĂŽte de rendu dans l’arborescence de contenu sont créés et/ou mis Ă  jour sous ce dossier :

/sitecore/system/Settings/Services/Rendering Hosts

Les Ă©lĂ©ments de l’hĂŽte de rendu dans ce dossier sont mappĂ©s aux hĂŽtes de rendu Ă©numĂ©rĂ©s dans le xmcloud.build.json dĂ©poser.

Une chose intĂ©ressante Ă  noter est que, quel que soit le nom du premier hĂŽte de rendu, le xmcloud.build.json fichier (par exemple, monsite1 dans l’exemple ci-dessus), le d’abord hĂŽte de rendu dans le xmcloud.build.json Le fichier sera toujours créé dans l’arborescence de contenu de Sitecore avec un nom de DĂ©faut. Les hĂŽtes de rendu N+1 auront les noms rĂ©pertoriĂ©s dans le xmcloud.build.json dĂ©poser. Par exemple (encore une fois, en supposant que xmcloud.build.json ci-dessus 👆), les hĂŽtes de rendu post-dĂ©ploiement dans l’environnement XM Cloud cible ressembleraient Ă  ceci :

ÉlĂ©ments hĂŽtes de rendu rĂ©sultants d’un dĂ©ploiement XM Cloud.

Une fois que XM Cloud crĂ©e ces Ă©lĂ©ments, il les dĂ©finit comme protĂ©gĂ©s dans l’arborescence de contenu : ces Ă©lĂ©ments ne devrait pas ĂȘtre modifiĂ© en dehors du processus de dĂ©ploiement de XM Cloud.

Si, pour une raison quelconque, vous avez sĂ©rialisĂ© ces Ă©lĂ©ments et les avez remplacĂ©s manuellement (soit en apportant des modifications manuelles, soit en installant un package de contenu), vous pouvez vous retrouver dans une situation oĂč les modifications et mises Ă  jour lors des dĂ©ploiements XM Cloud sur ces Ă©lĂ©ments sont ignorĂ©s car Sitecore examine les Ă©lĂ©ments remplacĂ©s. Cela restera un problĂšme jusqu’à ce que les Ă©lĂ©ments sĂ©rialisĂ©s remplacĂ©s soient nettoyĂ©s Ă  l’aide de la CLI Sitecore. itemres cleanup commande (rĂ©fĂ©rence : https://doc.sitecore.com/xmc/en/developers/xm-cloud/the-cli-itemres-command.html#the-cleanup-subcommand) ou les Ă©lĂ©ments remplacĂ©s sont simplement supprimĂ©s (pour ĂȘtre restaurĂ©s lors du prochain dĂ©ploiement).

Le TL;DR pour cette astuce: ne sĂ©rialisez pas les Ă©lĂ©ments de l’hĂŽte de rendu correspondant aux entrĂ©es dans le renderingHosts propriĂ©tĂ© dans le xmcloud.build.json file–XM cloud gĂšre ces Ă©lĂ©ments, vous n’avez donc pas Ă  le faire.

3. DĂ©finissez le nom et la description de la collection de sites 📛

La page de destination des sites XM Cloud a été mise à jour récemment mais, dans le passé, le nom de la collection de sites à laquelle appartenait un site était parfois présenté comme « N/A » :

L’étiquette de collection d’un site indiquant « N/A ».

Il s’avĂšre qu’il existe une section de champ sur les Ă©lĂ©ments de la collection de sites qui permet aux dĂ©veloppeurs de dĂ©finir le Nom et Description pour la collection du site. Certes, au dĂ©part, j’étais simplement ennuyĂ© par le « N/A » et je voulais un moyen de dĂ©finir le nom de la collection de sites. Cependant, c’est gĂ©nĂ©ralement une bonne idĂ©e de nommer et de dĂ©crire vos collections de sites, surtout s’il y en a (ou s’il y en aura) beaucoup. Pour dĂ©finir le Nom et Description champs d’un Ă©lĂ©ment de collection de sites, accĂ©dez Ă  l’élĂ©ment de collection de sites dans l’arborescence de contenu et accĂ©dez au MĂ©tadonnĂ©es section field pour fournir des valeurs pour ces champs :

DĂ©finition du nom et de la description d’une collection de sites.

đŸ„Ł Assurez-vous de sĂ©rialiser toutes les mises Ă  jour de ces Ă©lĂ©ments Ă  l’aide de la CLI Sitecore ser pull commande (rĂ©fĂ©rence : https://doc.sitecore.com/xmc/en/developers/xm-cloud/the-cli-serialization-command.html#the-pull-subcommand). Les Ă©lĂ©ments de la collection de sites sont contrĂŽlĂ©s par les dĂ©veloppeurs et doivent ĂȘtre cohĂ©rents entre les environnements.

DĂ©sormais, dans l’interface XM Cloud Sites (et peut-ĂȘtre ailleurs dans le futur), il sera plus facile de diffĂ©rencier les collections de sites et de dĂ©terminer l’objectif d’une collection de sites donnĂ©e. ✅

Merci pour la lecture! 🙏






Source link
Quitter la version mobile