Replicatie replication
Adobe Experience Manager as a Cloud Service gebruikt het Verschuivende vermogen van de Distributie van de Inhoudom de inhoud te bewegen om aan een pijpleidingsdienst te herhalen die op Adobe Developer wordt uitgevoerd die buiten AEM runtime is.
Methoden voor het publiceren van inhoud methods-of-publishing-content
Het wordt niet aangeraden om uw eigen aangepaste code voor bulkpublicaties te maken.
Als u om welke reden dan ook moet aanpassen, kunt u een werkstroom met deze stap teweegbrengen door bestaande Werkstroom APIs te gebruiken.
Het is altijd een goede gewoonte om alleen inhoud te publiceren die moet worden gepubliceerd. En wees voorzichtig als u niet probeert grote aantallen inhoud te publiceren, als dat niet nodig is. Er gelden echter geen limieten voor de hoeveelheid inhoud die u via workflows kunt verzenden met de Workflowstap voor boomactivering.
Quick Un/Publish - Gepland VN/Publish publish-unpublish
Met deze functie kunt u de geselecteerde pagina's direct publiceren, zonder de extra opties die mogelijk zijn via de methode Publicatie beheren.
Voor meer informatie, zie Publicatieleiden.
Aan- en uittijden - Configuratie activeren on-and-off-times-trigger-configuration
De extra mogelijkheden van op Tijd en van Tijd zijn beschikbaar bij het Basis lusje van de Eigenschappen van de Pagina.
Om de automatische replicatie voor deze eigenschap te realiseren, laat AutoReplicatie in de configuratie OSGiop van de Configuratie van de Trekker toe:
Publicatie beheren manage-publication
Publicatie beheren biedt meer opties dan Quick Publish, waardoor onderliggende pagina's kunnen worden opgenomen, de referenties kunnen worden aangepast en toepasselijke workflows kunnen worden gestart en de optie kan worden geboden om later te publiceren.
Als onderliggende items van een map worden opgenomen voor de optie "Later publiceren", wordt de workflow van de Publish-inhoudsstructuur geactiveerd, zoals in dit artikel wordt beschreven.
U kunt meer gedetailleerde informatie over Manage Publication over de het Publiceren documentatie van Grondbeginselenvinden.
Workflowstap Boomactivering tree-activation
De werkstroomstap voor structuuractivering is bedoeld om een diepe hiërarchie van inhoudsknooppunten op uitvoerbare wijze te repliceren. De toepassing wordt automatisch onderbroken wanneer de wachtrij te groot wordt, zodat andere replicaties parallel met minimale vertraging kunnen worden uitgevoerd.
Maak een workflowmodel dat gebruikmaakt van de processtap TreeActivation
:
-
Van de homepage van AEM as a Cloud Service, ga naar Hulpmiddelen - Werkschema - Modellen.
-
In de pagina Modellen van het Werkschema, druk creeer in de hogere juiste hoek van het scherm.
-
Voeg een titel en een naam toe aan uw model. Voor meer informatie, zie Creërend de Modellen van het Werkschema.
-
Selecteer het gecreeerde model van de lijst, en druk uitgeven
-
Verwijder in het volgende venster de standaard weergegeven Stap
-
Sleep de Stap van het Proces aan de huidige modelstroom en laat vallen:
-
Selecteer de stap van het Proces in de stroom en selecteer vormen door het moersleutelpictogram te drukken.
-
Selecteer het lusje van het Proces {en selecteer
Publish Content Tree
van de drop-down lijst, dan controleer het Geniet van de Handler { controlevakje -
Plaats om het even welke extra parameters op het gebied van Argumenten. U kunt meerdere door komma's gescheiden argumenten samenvoegen. Bijvoorbeeld:
enableVersion=false,agentId=publish,chunkSize=50,maxTreeSize=500000,dryRun=false,filters=onlyModified,maxQueueSize=10
note note NOTE Voor de lijst van parameters, zie de hieronder sectie van Parameters. -
Pers Gedaan om het model van het Werkschema te bewaren.
Parameters
Filters van de Steun
Steun van het hervatten
De workflow verwerkt inhoud in blokken, die elk een subset vormen van de volledige inhoud die moet worden gepubliceerd. Als de workflow door het systeem wordt gestopt, wordt deze voortgezet op het punt waar het systeem is uitgeschakeld.
de Voortgang van het Werkschema van de Controle
-
Van de homepage van AEM as a Cloud Service, ga naar Hulpmiddelen - Algemeen - Banen.
-
Bekijk de rij die overeenkomt met uw workflow. De vooruitgangs kolom geeft een aanwijzing van hoe de replicatie vooruitgaat. Het kan bijvoorbeeld 41/564 weergeven en bij het vernieuwen kan het worden bijgewerkt naar 52/564.
-
Als u de rij selecteert en opent, worden aanvullende gegevens over de status van de uitvoering van de workflow weergegeven.
Publish Content Tree Workflow publish-content-tree-workflow
U kunt een boomreplicatie teweegbrengen door Hulpmiddelen te kiezen - Werkschema - Modellen en het kopiëren van het de Inhoudsboom van Publish uit-van-de-doos werkschemamodel, zoals hieronder getoond:
Roep het oorspronkelijke model niet aan. Let er in plaats daarvan op dat u het model eerst kopieert en dat exemplaar aanroept.
Net als bij alle workflows kan de functie ook via de API worden aangeroepen. Voor meer informatie, zie Interacting met Workflows programmatically.
U kunt ook een workflowmodel maken waarin de processtap Publish Content Tree
wordt gebruikt.
-
Van de homepage van AEM as a Cloud Service, ga naar Hulpmiddelen - Werkschema - Modellen.
-
In de pagina Modellen van het Werkschema, druk creeer in de hogere juiste hoek van het scherm.
-
Voeg een titel en een naam toe aan uw model. Voor meer informatie, zie Creërend de Modellen van het Werkschema.
-
Selecteer het gecreeerde model van de lijst, en druk uitgeven
-
Sleep in het volgende venster de processtap naar de huidige modelstroom:
-
Selecteer de stap van het Proces in de stroom en selecteer vormen door het moersleutelpictogram te drukken.
-
Selecteer het lusje van het Proces {en selecteer
Publish Content Tree
van de drop-down lijst, dan controleer het Geniet van de Handler { controlevakje -
Plaats om het even welke extra parameters op het gebied van Argumenten. U kunt meerdere door komma's gescheiden argumenten samenvoegen. Bijvoorbeeld:
enableVersion=true,agentId=publish,includeChildren=true
note note NOTE Voor de lijst van parameters, zie de hieronder sectie van Parameters. -
Pers Gedaan om het model van het Werkschema te bewaren.
Parameters
-
includeChildren
(booleaanse waarde, standaardwaarde:false
). De waardefalse
betekent dat alleen het pad wordt gepubliceerd;true
betekent dat ook onderliggende objecten worden gepubliceerd. -
replicateAsParticipant
(booleaanse waarde, standaardwaarde:false
). Indien geconfigureerd alstrue
, gebruikt de replicatie deuserid
van de principal die de deelnemersstap heeft uitgevoerd. -
enableVersion
(booleaanse waarde, standaardwaarde:false
). Deze parameter bepaalt als een nieuwe versie op replicatie wordt gecreeerd. -
agentId
(tekenreekswaarde, standaardwaarde betekent dat alleen de publicatieagents worden gebruikt). Men adviseert om over agentId uitdrukkelijk te zijn; bijvoorbeeld, plaatsend het de waarde: publiceer. Als u de agent instelt oppreview
, wordt deze naar de service preview gepubliceerd. -
filters
(standaardwaarde betekent dat alle paden zijn geactiveerd). Beschikbare waarden zijn:onlyActivated
- alleen pagina's activeren die (al) zijn geactiveerd. Werkt als een vorm van reactivering.onlyModified
- activeer alleen paden die al zijn geactiveerd en een wijzigingsdatum na de activeringsdatum hebben.- Het bovenstaande kan ORed zijn met een pijp "|". Bijvoorbeeld
onlyActivated|onlyModified
.
het Registreren
Wanneer de stap van het werkschema van de boomactivering begint, registreert het zijn configuratieparameters op het INFO loglevel. Wanneer de wegen worden geactiveerd, wordt een verklaring INFO ook geregistreerd.
Een laatste INFO-instructie wordt vastgelegd nadat alle paden door de workflowstap zijn gerepliceerd.
U kunt ook het logniveau van de loggers onder com.day.cq.wcm.workflow.process.impl
verhogen tot DEBUG/TRACE voor nog meer loginformatie.
Als er fouten zijn, eindigt de werkschemastap met a WorkflowException
, die de onderliggende Uitzondering verpakt.
Hieronder volgen voorbeelden van logboeken die worden gegenereerd tijdens een workflow in een voorbeeld van een publicatiestructuur voor inhoud:
code language-none |
---|
|
code language-none |
---|
|
Replicatie-API replication-api
U kunt inhoud publiceren met behulp van de Replicatie-API die in AEM as a Cloud Service is geïnstalleerd.
Voor meer informatie, zie de API Documentatie.
Basis Gebruik van API
@Reference
Replicator replicator;
@Reference
ReplicationStatusProvider replicationStatusProvider;
....
Session session = ...
// Activate a single page to all agents, which are active by default
replicator.replicate(session,ReplicationActionType.ACTIVATE,"/content/we-retail/en");
// Activate multiple pages (but try to limit it to approx 100 at max)
replicator.replicate(session,ReplicationActionType.ACTIVATE, new String[]{"/content/we-retail/en","/content/we-retail/de"});
// ways to get the replication status
Resource enResource = resourceResolver.getResource("/content/we-retail/en");
Resource deResource = resourceResolver.getResource("/content/we-retail/de");
ReplicationStatus enStatus = enResource.adaptTo(ReplicationStatus.class);
// if you need to get the status for more more than 1 resource at once, this approach is more performant
Map<String,ReplicationStatus> allStatus = replicationStatusProvider.getBatchReplicationStatus(enResource,deResource);
Replicatie met Specifieke Agenten
Bij het repliceren van middelen, zoals in het bovenstaande voorbeeld, slechts worden de agenten gebruikt die door gebrek actief zijn. In AEM as a Cloud Service betekent dit alleen de agent met de naam "publish", die de auteur verbindt met de publicatielijst.
Ter ondersteuning van de voorvertoningsfunctionaliteit is een nieuwe agent met de naam "preview" toegevoegd, die niet standaard actief is. Deze agent wordt gebruikt om de auteur met de voorproefrij te verbinden. Als u alleen via de voorvertoningsagent wilt repliceren, moet u deze voorvertoningsagent expliciet selecteren via een AgentFilter
.
Zie het volgende voorbeeld:
private static final String PREVIEW_AGENT = "preview";
ReplicationStatus beforeStatus = enResource.adaptTo(ReplicationStatus.class); // beforeStatus.isActivated == false
ReplicationOptions options = new ReplicationOptions();
options.setFilter(new AgentFilter() {
@Override
public boolean isIncluded (Agent agent) {
return agent.getId().equals(PREVIEW_AGENT);
}
});
// will replicate only to preview
replicator.replicate(session,ReplicationActionType.ACTIVATE,"/content/we-retail/en", options);
ReplicationStatus afterStatus = enResource.adaptTo(ReplicationStatus.class); // afterStatus.isActivated == false
ReplicationStatus previewStatus = afterStatus.getStatusForAgent(PREVIEW_AGENT); // previewStatus.isActivated == true
Als u een dergelijk filter niet aanbiedt en alleen de "publish"-agent gebruikt, wordt de "preview"-agent niet gebruikt en heeft de replicatiehandeling geen invloed op de voorvertoningslaag.
De algemene ReplicationStatus
van een bron wordt alleen gewijzigd als de replicatiehandeling ten minste één agent bevat die standaard actief is. In het bovenstaande voorbeeld was deze stroom niet het geval. De replicatie gebruikte gewoon de 'preview'-agent. Daarom moet u de nieuwe getStatusForAgent()
methode gebruiken, die het vragen van de status voor een specifieke agent toestaat. Deze methode werkt ook voor de "publiceer"agent. Het keert een niet-krachteloze waarde terug als er om het even welke replicatieactie is gedaan gebruikend de verstrekte agent.
Methoden voor het ongeldig maken van inhoud invalidating-content
U kunt inhoud direct ongeldig maken door of het Verdelen van de Invalidatie van de Inhoud (SCD) van auteur (de aangewezen methode) te gebruiken of door de Replicatie API te gebruiken om publiceer Dispatcher te roepen flush replicatieagent. Zie Cachingpagina voor verdere details.
de capaciteitsgrenzen van de Replicatie API
Repliceer minder dan 100 paden tegelijk, waarbij 500 paden de limiet zijn. Boven de limiet wordt een ReplicationException
gegenereerd.
Als voor uw toepassingslogica geen atomische replicatie is vereist, kan deze limiet worden overbrugd door de waarde ReplicationOptions.setUseAtomicCalls
in te stellen op false, die een willekeurig aantal paden accepteert, maar intern emmers maakt om onder deze limiet te blijven.
De grootte van de inhoud die per replicatieaanroep wordt verzonden, mag niet groter zijn dan 10 MB
. Deze regel bevat de knooppunten en eigenschappen, maar geen binaire bestanden (workflowpakketten en inhoudspakketten worden als binaire bestanden beschouwd).
Problemen oplossen troubleshooting
Om replicatie problemen op te lossen, navigeer aan de Queuws van de Replicatie in het Web UI van de Dienst van de AEM Auteur:
-
Van het Menu van het Begin van het AEM, navigeer aan Hulpmiddelen > Plaatsing > Distributie
-
Selecteer kaart publiceren
-
Controleer de wachtrijstatus die groen moet zijn
-
U kunt de verbinding met de replicatieservice testen
-
Selecteer het Logs lusje dat de geschiedenis van inhoudspublicaties toont
Als de inhoud niet kon worden gepubliceerd, wordt de volledige publicatie teruggezet van de AEM Publish Service.
In dat geval geeft de hoofdwachtrij een rode status weer en moet deze worden gecontroleerd om te bepalen welke items de annulering van de publicatie hebben veroorzaakt. Door op die wachtrij te klikken, worden de items in behandeling weergegeven, waaruit één item of alle items indien nodig kunnen worden gewist.