Sitecore

Agregar destinos de publicación en Sitecore 9.1

Como probablemente sabes, los estándares de Sitecore envían el contenido desde la base de datos Master a la Web (o a la base de datos de publicación, si lo prefieres); sin embargo, Sitecore también ofrece una forma de agregar más destinos de publicación.

¿Te preguntas por qué se requieren múltiples destinos de publicación? En 2011, John West enumeró algunas buenas razones para tener múltiples destinos de publicación

quotes blog vinicius deschamps
  • El tráfico, la distribución geográfica, la redundancia y otras consideraciones de escalabilidad a menudo exigen que los clientes publiquen todo a múltiples destinos de publicación que respalden diferentes bancos de servidores de entrega de contenido en un solo lugar o en múltiples ubicaciones. Este es probablemente el uso más común de los destinos de publicación.
  • Publicar a un destino de publicación de preproducción para evaluación antes de go-live. Esto tiene algunos desafíos, como cómo publicar desde un estado de flujo de trabajo no final.
  • Publicar algunos de los sitios gestionados a un destino de publicación y otros sitios a otro. Esto reduce el tiempo de publicación y el almacenamiento de la base de datos, pero también tiene desventajas, como complicar el uso compartido de contenido y podría ser difícil de integrar con otros enfoques listados aquí.

quotes 2 blog vinicius deschamps

¿Interesado? Bueno, suponiendo que ya tienes una base de datos Web adicional en su lugar… Veamos los pasos para lograrlo

Agregar nueva conexión de base de datos en ConnectionStrings.config

1. Accede a Content Management’s ConnectionStrings.config, y agrega una nueva conexión de base de datos

<add name="web2" connectionString="user id=web2-sql-adm;password=mysuperpassword;Data Source=.\SQLServer;Database=Sitecore_web2" />

Agregar nuevo Publishing Target en Sitecore CM

Sitecore System Publishing Targets Blog Vinicius Deschamps
Sitecore Publishing Targets Button Blog Vinicius Deschamps
Sitecore Enter a Name for the new Item Publishing Target Blog Vinicius Deschamps

2. Navega a tu CM, accede a la página /sitecore y haz clic en Content Editor

Sitecore Experience Platform Content Editor Blog Vinicius Deschamps

3. Una vez que Content Editor esté abierto, navega a sitecore > System > Publishing Targets 4. Verás el botón Publishing target, haz clic en él 5. Elige un nombre para tu nuevo Publishing Target, y presiona OK 6. El Web2 ya es parte de Publishing Targets, así que completa el Target Database con el mismo nombre que configuraste en el ConnectionStrings.config en el Paso 1, y luego haz clic en el botón Save

Sitecore New Publishing Target Server Save Blog Vinicius Deschamps

Agregar base de datos Web2 en Sitecore.config

7. Navega hasta tu archivo Sitecore.config, y busca (alrededor de la línea 1078), luego localiza (alrededor de la línea 1156), y copia desde hasta <!– web –>

Sitecore Config Duplicate Database Entry Blog Vinicius Deschamps

8. Y pega el contenido después de , luego modifica las entradas siguientes y guarda el archivo

<!– web –> a **<!– web2 –>
**Sé que es solo el comentario, pero mantengamos las cosas organizadas 🙂

<database id=”web” to <database id=web2

Sitecore Config Modify Values for New Publishing Target Blog Vinicius Deschamps

Directo, ¿verdad? ¡NO TAN RÁPIDO, AMIGO!

Justo después de realizar los pasos anteriores, si revisas tu instancia de Sitecore, te enfrentarás a una Yellow Screen of Death (YSOD) que dice

Could not find configuration node: PropertyStoreProvider/store[@name=’web2′] Could not find configuration node: eventing/eventQueueProvider/eventQueue[@name=’web2′]

Y como realmente creo en nuestra comunidad de Sitecore, terminé buscando el error en Sitecore.StackExchange y encontré los pasos extra proporcionados por Gatogordo

“Sitecore ha añadido estas cosas en la configuración de la base de datos en Sitecore9. Así que, en tu caso, para una base de datos “web2”, añade”

9. Abre tu Sitecore.config, y encuentra la siguiente entrada eventQueue="web" (alrededor de la línea 361), luego copia esas líneas resaltadas en el cuadrado rojo

Sitecore Config Event Queue Duplicate Entry Blog Vinicius Deschamps

10. Y pega después de la </eventQueue>, luego modifica la siguiente entrada <eventQueue name=”web” to <eventQueue name=”web2″

Sitecore Config Modify Values for New Event Queue Blog Vinicius Deschamps
    <eventQueue name="web2" type="Sitecore.Data.Eventing.$(database)EventQueue, Sitecore.Kernel">
      <param ref="dataApis/dataApi[@name='$(database)']" param1="$(name)" />
      <param hint="" ref="PropertyStoreProvider/store[@name='$(name)']" />
    </eventQueue>

11. Ahora, encuentra la siguiente entrada <store name=”web” (alrededor de la línea 385), luego copia esas líneas resaltadas en el cuadrado rojo

Sitecore Config Duplicate Store Entry Blog Vinicius Deschamps

12. Y pega después de la </store>, luego modifica la siguiente entrada <store name=”web” to <store name=”web2″ Y prefix=”web” to prefix=”web2″

Sitecore Config Modify Values for New store Blog Vinicius Deschamps
  <store name="web2" prefix="web2" getValueWithoutPrefix="true" singleInstance="true" type="Sitecore.Data.Properties.$(database)PropertyStore, Sitecore.Kernel">
    <param ref="dataApis/dataApi[@name='$(database)']" param1="$(name)" />
    <param resolve="true" type="Sitecore.Abstractions.BaseEventManager, Sitecore.Kernel" />
    <param resolve="true" type="Sitecore.Abstractions.BaseCacheManager, Sitecore.Kernel" />
  </store>

Guarda tu Sitecore.config, y accede nuevamente a tu Content Management y voilá, ya no aparece el YSOD!

Ahora, dale una oportunidad e ve a Publish y verás una opción extra para Publishing Targets

Sitecore Publish Site Blog Vinicius Deschamps

Espero que te haya gustado y nos vemos en mi próxima publicación

Sitecore
Agregar destinos de publicación en Sitecore 9.1 — Vinicius Deschamps