Het beheer van meerdere sites uitbreiden extending-the-multi-site-manager
Met deze pagina kunt u de functionaliteit van het beheer van meerdere sites uitbreiden:
- Leer meer over de belangrijkste leden van de MSM Java API.
- Creeer een nieuwe synchronisatieactie die in een rollout configuratie kan worden gebruikt.
- Wijzig de standaardtaal en landcodes.
-
Herstructurering van de vestigingsplaats in AEM 6.4:
Overzicht van de Java API overview-of-the-java-api
Beheer van meerdere sites bestaat uit de volgende pakketten:
De belangrijkste MSM API-objecten hebben de volgende interactie (zie ook Gebruikte termen):
-
Blueprint
ABlueprint
(zoals in blauwdrukconfiguratie) geeft de pagina's aan waarvan een live kopie inhoud kan overnemen.-
Het gebruik van een blauwdrukconfiguratie (
Blueprint
) is optioneel, maar:- Hiermee kan de auteur de opdracht Uitrol optie op de bron (aan (uitdrukkelijk) duw wijzigingen aan levende exemplaren die van deze bron erven).
- Hiermee kan de auteur Site maken; hierdoor kan de gebruiker eenvoudig talen selecteren en de structuur van de live kopie configureren .
- Bepaalt de standaardrollout configuratie voor om het even welke resulterende levende exemplaren.
-
-
LiveRelationship
DeLiveRelationship
Hiermee geeft u de verbinding (relatie) op tussen een bron in de actieve kopieervertakking en de equivalente bron/blauwdrukbron.- De relaties worden gebruikt bij het realiseren van overerving en rollout.
LiveRelationship
objecten bieden toegang (verwijzingen) tot de rollout-configuraties (RolloutConfig
),LiveCopy
, enLiveStatus
objecten die verband houden met de relatie.- Er wordt bijvoorbeeld een live kopie gemaakt in
/content/copy/us
van de bron/blauwdruk op/content/we-retail/language-masters
. De middelen/content/we.retail/language-masters/en/jcr:content
en/content/copy/us/en/jcr:content
vormen een relatie.
-
LiveCopy
bevat de configuratiedetails voor de relaties (LiveRelationship
) tussen de bronnen van de live kopie en de bron-/blauwdrukbronnen ervan.- Gebruik de
LiveCopy
klasse voor toegang tot het pad van de pagina, het pad van de bron-/blauwdrukpagina, de rollout-configuraties en of onderliggende pagina's ook in deLiveCopy
. - A
LiveCopy
knooppunt wordt elke keer gemaakt Site maken of Live kopie maken wordt gebruikt.
- Gebruik de
-
LiveStatus
objecten bieden toegang tot de runtimestatus van eenLiveRelationship
. Wordt gebruikt om de synchronisatiestatus van een live kopie te controleren. -
LiveAction
is een actie die op elk middel wordt uitgevoerd dat bij de rollout betrokken is.- LiveActions wordt slechts geproduceerd door RolloutConfigs.
-
LiveActionFactory
createLiveAction
objecten gegevenLiveAction
configuratie. Configuraties worden opgeslagen als bronnen in de opslagplaats. -
RolloutConfig
bevat een lijst metLiveActions
te gebruiken wanneer deze wordt geactiveerd. DeLiveCopy
erft deRolloutConfig
en het resultaat is aanwezig in deLiveRelationship
.- Voor het eerst dat een live kopie wordt ingesteld, wordt ook een RolloutConfig gebruikt (die de LiveActions activeert).
Nieuwe synchronisatiehandeling maken creating-a-new-synchronization-action
Creeer de acties van de douanesynchronisatie om met uw rollout configuraties te gebruiken. Maak een synchronisatiehandeling wanneer de geïnstalleerde handelingen voldoet niet aan uw specifieke toepassingsvereisten. Hiertoe maakt u twee klassen:
- De uitvoering van de
com.day.cq.wcm.msm.api.LiveAction
interface die de handeling uitvoert. - Een component OSGI die de
com.day.cq.wcm.msm.api.LiveActionFactory
en maakt instanties van uwLiveAction
klasse.
De LiveActionFactory
maakt instanties van de LiveAction
klasse voor een bepaalde configuratie:
-
LiveAction
klassen omvatten de volgende methoden:getName
: Retourneert de naam van de handeling De naam wordt gebruikt om naar de handeling te verwijzen, bijvoorbeeld in rollout-configuraties.execute
: Voert de taken van de actie uit.
-
LiveActionFactory
de klassen omvatten de volgende leden:LIVE_ACTION_NAME
: Een veld dat de naam bevat van het gekoppeldeLiveAction
. Deze naam moet overeenkomen met de waarde die wordt geretourneerd door degetName
methodeLiveAction
klasse.createAction
: Hiermee wordt een instantie van het dialoogvensterLiveAction
. De optioneleResource
parameter kan worden gebruikt om configuratieinformatie te verstrekken.createsAction
: Hiermee wordt de naam van het gekoppelde object geretourneerdLiveAction
.
De LiveAction Configuration-node openen accessing-the-liveaction-configuration-node
Gebruik de LiveAction
configuratieknooppunt in de opslagplaats om informatie op te slaan die het runtimegedrag van de LiveAction
-instantie. Het knooppunt in de opslagplaats dat het LiveAction
de configuratie is beschikbaar voor de LiveActionFactory
object bij uitvoering. Daarom kunt u eigenschappen aan de configuratieknoop toevoegen en hen in uw gebruiken LiveActionFactory
de uitvoering, indien nodig.
Bijvoorbeeld een LiveAction
moet de naam van de auteur van de blauwdruk opslaan. Een bezit van de configuratieknoop omvat de bezitsnaam van de blauwdruk pagina die de informatie opslaat. Tijdens runtime wordt LiveAction
wint de bezitsnaam van de configuratie terug, dan verkrijgt de bezitswaarde.
De parameter van de LiveActionFactory
.createAction
methode is een Resource
object. Dit Resource
object staat voor cq:LiveSyncAction
knooppunt voor deze live actie in de rollout-configuratie; zie Een rollout-configuratie maken. Zoals gebruikelijk wanneer het gebruiken van een configuratieknooppunt, zou u het aan een moeten aanpassen ValueMap
object:
public LiveAction createAction(Resource resource) throws WCMException {
ValueMap config;
if (resource == null || resource.adaptTo(ValueMap.class) == null) {
config = new ValueMapDecorator(Collections.<String, Object>emptyMap());
} else {
config = resource.adaptTo(ValueMap.class);
}
return new MyLiveAction(config, this);
}
Toegang tot doelknooppunten, bronknooppunten en de LiveRelationship accessing-target-nodes-source-nodes-and-the-liverelationship
De volgende objecten worden opgegeven als parameters van de execute
methode LiveAction
object:
-
A
Resource
object dat de bron van de actieve kopie vertegenwoordigt. -
A
Resource
object dat het doel van de actieve kopie vertegenwoordigt. -
De
LiveRelationship
-object voor de live kopie. -
De
autoSave
waarde geeft aan of uwLiveAction
moeten wijzigingen opslaan die in de gegevensopslagruimte zijn aangebracht. -
De reset-waarde geeft de rollout reset-modus aan.
Met deze objecten kunt u alle informatie over de LiveCopy
. U kunt ook de opdracht Resource
te verkrijgen objecten ResourceResolver
, Session
, en Node
objecten. Deze objecten zijn handig voor het bewerken van inhoud in opslagruimten:
In de eerste regel van de volgende code is de bron de Resource
object van de bronpagina:
ResourceResolver resolver = source.getResourceResolver();
Session session = resolver.adaptTo(javax.jcr.Session.class);
Node sourcenode = source.adaptTo(javax.jcr.Node.class);
Resource
argumenten kunnen null
of Resources
objecten die niet worden aangepast aan Node
objecten, zoals NonExistingResource
objecten.Een nieuwe rollout-configuratie maken creating-a-new-rollout-configuration
Maak een rollout-configuratie wanneer de geïnstalleerde rollout-configuraties niet voldoen aan de toepassingsvereisten:
De nieuwe rollout configuratie is dan beschikbaar aan u wanneer het plaatsen van rollout configuraties op een blauwdruk of een levende exemplaarpagina.
De configuratie voor rollout maken create-the-rollout-configuration
Een nieuwe rollout-configuratie maken:
-
Open CRXDE Lite; bijvoorbeeld:
http://localhost:4502/crx/de -
Ga naar :
/apps/msm/<your-project>/rolloutconfigs
note note NOTE Dit is de aangepaste versie van uw project van: /libs/msm/wcm/rolloutconfigs
Moet worden gecreeerd als dit uw eerste configuratie is.note note NOTE U moet niets in de /libs weg veranderen.
Dit is omdat de inhoud van /libs de volgende tijd wordt beschreven u uw instantie (en kan goed worden beschreven wanneer u of hotfix of eigenschappak toepast) bevordert.
De aanbevolen methode voor configuratie en andere wijzigingen is:- Het vereiste item opnieuw maken (dat wil zeggen zoals het bestaat in /libs) onder /apps
- Wijzigingen aanbrengen in /apps
-
Krachtens deze Maken een knooppunt met de volgende eigenschappen:
- Naam: De knooppuntnaam van de rollout configuratie. md#installed-synchronization-actions), bijvoorbeeld
contentCopy
ofworkflow
. - Type:
cq:RolloutConfig
- Naam: De knooppuntnaam van de rollout configuratie. md#installed-synchronization-actions), bijvoorbeeld
-
Voeg de volgende eigenschappen toe aan dit knooppunt:
-
Naam:
jcr:title
Type:
String
Waarde: Een identificerende titel die in UI zal verschijnen. -
Naam:
jcr:description
Type:
String
Waarde: Een optionele beschrijving. -
Naam:
cq:trigger
Type:
String
Waarde: De Rollout Trigger te gebruiken. Selecteer vanuit:rollout
modification
publish
deactivate
-
-
Klikken Alles opslaan.
Synchronisatiehandelingen toevoegen aan de configuratie van de rollout add-synchronization-actions-to-the-rollout-configuration
Rolloutconfiguraties worden onder de rollout configuration node die u onder /apps/msm/<your-project>/rolloutconfigs
knooppunt.
Onderliggende knooppunten van het type toevoegen cq:LiveSyncAction
synchronisatiehandelingen toevoegen aan de rollout-configuratie. De volgorde van de actieknooppunten voor synchronisatie bepaalt de volgorde waarin de acties plaatsvinden.
-
Stilstaand in CRXDE Lite, selecteer uw Configuratie van rollout knooppunt.
Bijvoorbeeld:
/apps/msm/myproject/rolloutconfigs/myrolloutconfig
-
Maken een knooppunt met de volgende knoopeigenschappen:
- Naam: De knooppuntnaam van de synchronisatieactie.
De naam moet gelijk zijn aan Naam van handeling in de onderstaande tabel SynchronisatiehandelingenbijvoorbeeldcontentCopy
ofworkflow
. - Type:
cq:LiveSyncAction
- Naam: De knooppuntnaam van de synchronisatieactie.
-
Voeg en vorm zo vele knopen van de synchronisatieactie toe aangezien u vereist. Wijzig de rangschikking van de actieknoppen zodat de volgorde overeenkomt met de volgorde waarin u deze wilt uitvoeren. Het bovenste actieknooppunt komt eerst voor.
-
Klikken Alles opslaan.
Een eenvoudige LiveActionFactory-klasse maken en gebruiken creating-and-using-a-simple-liveactionfactory-class
Volg de procedures in deze paragraaf om een LiveActionFactory
en gebruik het in een rollout configuratie. De procedures gebruiken Maven en Eclipse om het LiveActionFactory
:
- Maak het gemaakte project en importeert u deze in Eclipse.
- Afhankelijkheden toevoegen naar het POM-bestand.
- Implementeer de
LiveActionFactory
inteface en zet de bundel OSGi op. - De rollout-configuratie maken.
- Live kopie maken.
Het Maven-project en de broncode van de Java-klasse zijn beschikbaar in de openbare Git-opslagplaats.
CODE VOOR GITHUB
U kunt de code van deze pagina op GitHub vinden
- Open ExperienceManager-java-msmrollout project op GitHub
- Het project downloaden als een ZIP-bestand
Maven create-the-maven-project
Voor de volgende procedure is het vereist dat u het adobe-public profiel hebt toegevoegd aan het Maven-instellingenbestand.
- Voor informatie over het adobe-public profiel raadpleegt u De insteekmodule voor het inhoudspakket verkrijgen
- Zie Maven voor meer informatie over het instellingenbestand Maven Instellingenverwijzing.
-
Open een terminal- of opdrachtregelsessie en wijzig de directory om te wijzen naar de locatie waar u het project wilt maken.
-
Voer de volgende opdracht in:
code language-xml mvn archetype:generate -DarchetypeGroupId=com.day.jcr.vault -DarchetypeArtifactId=multimodule-content-package-archetype -DarchetypeVersion=1.0.0 -DarchetypeRepository=adobe-public-releases
-
Geef de volgende waarden op bij interactieve prompt:
groupId
:com.adobe.example.msm
artifactId
:MyLiveActionFactory
version
:1.0-SNAPSHOT
package
:MyPackage
appsFolderName
:myapp
artifactName
:MyLiveActionFactory package
packageGroup
:myPackages
-
Eclipse starten en import van het Maven-project.
Afhankelijkheden toevoegen aan het POM-bestand add-dependencies-to-the-pom-file
Voeg gebiedsdelen toe zodat de compiler van de Verduistering de klassen kan van verwijzingen voorzien die in worden gebruikt LiveActionFactory
code.
-
Open het bestand in Eclipse Project Explorer:
MyLiveActionFactory/pom.xml
-
Klik in de editor op de knop
pom.xml
en zoek deproject/dependencyManagement/dependencies
sectie. -
Voeg de volgende XML toe binnen de
dependencyManagement
en sla het bestand op.code language-xml <dependency> <groupId>com.day.cq.wcm</groupId> <artifactId>cq-msm-api</artifactId> <version>5.6.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.api</artifactId> <version>2.4.3-R1488084</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.day.cq.wcm</groupId> <artifactId>cq-wcm-api</artifactId> <version>5.6.6</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.commons.json</artifactId> <version>2.0.6</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.day.cq</groupId> <artifactId>cq-commons</artifactId> <version>5.6.4</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.jcr.jcr-wrapper</artifactId> <version>2.0.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.day.cq</groupId> <artifactId>cq-commons</artifactId> <version>5.6.4</version> <scope>provided</scope> </dependency>
-
Open het POM-bestand voor de bundel vanuit Projectverkenner om
MyLiveActionFactory-bundle/pom.xml
. -
Klik in de editor op de knop
pom.xml
en zoek de sectie project/afhankelijkheden. Voeg de volgende XML binnen het gebiedsdeelelement toe en bewaar dan het dossier:code language-xml <dependency> <groupId>com.day.cq.wcm</groupId> <artifactId>cq-msm-api</artifactId> </dependency> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.api</artifactId> </dependency> <dependency> <groupId>com.day.cq.wcm</groupId> <artifactId>cq-wcm-api</artifactId> </dependency> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.commons.json</artifactId> </dependency> <dependency> <groupId>com.day.cq</groupId> <artifactId>cq-commons</artifactId> </dependency> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.jcr.jcr-wrapper</artifactId> </dependency> <dependency> <groupId>com.day.cq</groupId> <artifactId>cq-commons</artifactId> </dependency>
LiveActionFactory implementeren implement-liveactionfactory
Het volgende LiveActionFactory
klasse implementeert een klasse LiveAction
die berichten over de bron en doelpagina's registreert, en kopieert cq:lastModifiedBy
eigenschap van het bronknooppunt naar het doelknooppunt. De naam van de live actie is exampleLiveAction
.
-
In de Ontdekkingsreiziger van het Project van de Verduistering, klik met de rechtermuisknop aan
MyLiveActionFactory-bundle/src/main/java/com.adobe.example.msm
verpakken en klikken Nieuw > Klasse. Voor de Naam, enterExampleLiveActionFactory
en klik vervolgens op Voltooien. -
Open de
ExampleLiveActionFactory.java
, vervangt u de inhoud door de volgende code en slaat u het bestand op.code language-java package com.adobe.example.msm; import java.util.Collections; import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Property; import org.apache.felix.scr.annotations.Service; import org.apache.sling.api.resource.Resource; import org.apache.sling.api.resource.ResourceResolver; import org.apache.sling.api.resource.ValueMap; import org.apache.sling.api.wrappers.ValueMapDecorator; import org.apache.sling.commons.json.io.JSONWriter; import org.apache.sling.commons.json.JSONException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.jcr.Node; import javax.jcr.RepositoryException; import javax.jcr.Session; import com.day.cq.wcm.msm.api.ActionConfig; import com.day.cq.wcm.msm.api.LiveAction; import com.day.cq.wcm.msm.api.LiveActionFactory; import com.day.cq.wcm.msm.api.LiveRelationship; import com.day.cq.wcm.api.WCMException; @Component(metatype = false) @Service public class ExampleLiveActionFactory implements LiveActionFactory<LiveAction> { @Property(value="exampleLiveAction") static final String actionname = LiveActionFactory.LIVE_ACTION_NAME; public LiveAction createAction(Resource config) { ValueMap configs; /* Adapt the config resource to a ValueMap */ if (config == null || config.adaptTo(ValueMap.class) == null) { configs = new ValueMapDecorator(Collections.<String, Object>emptyMap()); } else { configs = config.adaptTo(ValueMap.class); } return new ExampleLiveAction(actionname, configs); } public String createsAction() { return actionname; } /************* LiveAction ****************/ private static class ExampleLiveAction implements LiveAction { private String name; private ValueMap configs; private static final Logger log = LoggerFactory.getLogger(ExampleLiveAction.class); public ExampleLiveAction(String nm, ValueMap config){ name = nm; configs = config; } public void execute(Resource source, Resource target, LiveRelationship liverel, boolean autoSave, boolean isResetRollout) throws WCMException { String lastMod = null; log.info(" *** Executing ExampleLiveAction *** "); /* Determine if the LiveAction is configured to copy the cq:lastModifiedBy property */ if ((Boolean) configs.get("repLastModBy")){ /* get the source's cq:lastModifiedBy property */ if (source != null && source.adaptTo(Node.class) != null){ ValueMap sourcevm = source.adaptTo(ValueMap.class); lastMod = sourcevm.get(com.day.cq.wcm.msm.api.MSMNameConstants.PN_PAGE_LAST_MOD_BY, String.class); } /* set the target node's la-lastModifiedBy property */ Session session = null; if (target != null && target.adaptTo(Node.class) != null){ ResourceResolver resolver = target.getResourceResolver(); session = resolver.adaptTo(javax.jcr.Session.class); Node targetNode; try{ targetNode=target.adaptTo(javax.jcr.Node.class); targetNode.setProperty("la-lastModifiedBy", lastMod); log.info(" *** Target node lastModifiedBy property updated: {} ***",lastMod); }catch(Exception e){ log.error(e.getMessage()); } } if(autoSave){ try { session.save(); } catch (Exception e) { try { session.refresh(true); } catch (RepositoryException e1) { e1.printStackTrace(); } e.printStackTrace(); } } } } public String getName() { return name; } /************* Deprecated *************/ @Deprecated public void execute(ResourceResolver arg0, LiveRelationship arg1, ActionConfig arg2, boolean arg3) throws WCMException { } @Deprecated public void execute(ResourceResolver arg0, LiveRelationship arg1, ActionConfig arg2, boolean arg3, boolean arg4) throws WCMException { } @Deprecated public String getParameterName() { return null; } @Deprecated public String[] getPropertiesNames() { return null; } @Deprecated public int getRank() { return 0; } @Deprecated public String getTitle() { return null; } @Deprecated public void write(JSONWriter arg0) throws JSONException { } } }
-
Wijzig met de terminal- of opdrachtsessie de directory in de
MyLiveActionFactory
directory (de Maven projectdirectory). Voer vervolgens de volgende opdracht in:code language-shell mvn -PautoInstallPackage clean install
De AEM
error.log
Geef aan dat de bundel is gestart.Bijvoorbeeld: http://localhost:4502/system/console/status-slinglogs.
code language-xml 13.08.2013 14:34:55.450 *INFO* [OsgiInstallerImpl] com.adobe.example.msm.MyLiveActionFactory-bundle BundleEvent RESOLVED 13.08.2013 14:34:55.451 *INFO* [OsgiInstallerImpl] com.adobe.example.msm.MyLiveActionFactory-bundle BundleEvent STARTING 13.08.2013 14:34:55.451 *INFO* [OsgiInstallerImpl] com.adobe.example.msm.MyLiveActionFactory-bundle BundleEvent STARTED 13.08.2013 14:34:55.453 *INFO* [OsgiInstallerImpl] com.adobe.example.msm.MyLiveActionFactory-bundle Service [com.adobe.example.msm.ExampleLiveActionFactory,2188] ServiceEvent REGISTERED 13.08.2013 14:34:55.454 *INFO* [OsgiInstallerImpl] org.apache.sling.audit.osgi.installer Started bundle com.adobe.example.msm.MyLiveActionFactory-bundle [316]
De voorbeeldconfiguratie voor rollout maken create-the-example-rollout-configuration
Creeer de MSM rollout configuratie die gebruikt LiveActionFactory
die u hebt gemaakt:
-
Maken en configureren De Configuratie van de uitrol met de standaardprocedure - en met gebruikmaking van de eigenschappen:
- Titel: Voorbeeld-uitrolconfiguratie
- Naam: voorbeplerolloutconfig
- cq:trigger:
publish
Voeg de Actieve Actie aan de Configuratie van de Uitvoer van het Voorbeeld toe add-the-live-action-to-the-example-rollout-configuration
Vorm de rollout configuratie die u in de vorige procedure creeerde zodat het gebruikt ExampleLiveActionFactory
klasse.
-
Open CRXDE Lite; bijvoorbeeld: http://localhost:4502/crx/de.
-
De volgende node maken onder
/apps/msm/rolloutconfigs/examplerolloutconfig/jcr:content
:- Naam:
exampleLiveAction
- Type:
cq:LiveSyncAction
- Naam:
-
Klikken Alles opslaan.
-
Selecteer
exampleLiveAction
en voeg de volgende eigenschap toe:- Naam:
repLastModBy
- Type:
Boolean
- Waarde:
true
Deze eigenschap geeft de
ExampleLiveAction
de klassecq:LastModifiedBy
eigenschap moet worden gerepliceerd van de bron naar het doelknooppunt. - Naam:
-
Klikken Alles opslaan.
Live kopie maken create-the-live-copy
Een live kopie maken van de Engelse/de tak van Producten van de Site van de Verwijzing Wij.Retail gebruikend uw rollout configuratie:
-
Bron:
/content/we-retail/language-masters/en/products
-
Configuratie van rollout: Voorbeeld-uitrolconfiguratie
De Producten (engels) pagina van de brontak en bekijk de logboekberichten die LiveAction
klasse genereert:
16.08.2013 10:53:33.055 *INFO* [Thread-444535] com.adobe.example.msm.ExampleLiveActionFactory$ExampleLiveAction *** ExampleLiveAction has been executed.***
16.08.2013 10:53:33.055 *INFO* [Thread-444535] com.adobe.example.msm.ExampleLiveActionFactory$ExampleLiveAction *** Target node lastModifiedBy property updated: admin ***
Taalnamen en standaardlanden wijzigen changing-language-names-and-default-countries
AEM gebruikt een standaardset taal- en landcodes.
- De standaardtaalcode is de tweeletterige code in kleine letters, zoals gedefinieerd door ISO-639-1.
- De standaardlandcode is de tweelettercode in kleine letters of hoofdletters, zoals gedefinieerd in ISO 3166.
MSM gebruikt een opgeslagen lijst van taal en landcodes om de naam van het land te bepalen dat met de naam van de taalversie van uw pagina wordt geassocieerd. U kunt de volgende aspecten van de lijst indien nodig wijzigen:
- Taaltitels
- Landnamen
- Standaardlanden voor talen (voor codes zoals
en
,de
, onder andere)
De taallijst wordt opgeslagen onder de /libs/wcm/core/resources/languages
knooppunt. Elk onderliggend knooppunt vertegenwoordigt een taal of een taal-land:
-
De naam van het knooppunt is de taalcode (bijvoorbeeld
en
ofde
), of de taal_landcode (zoalsen_us
ofde_ch
). -
De
language
bezit van de knoop slaat de volledige naam van de taal voor de code op. -
De
country
eigenschap of the node slaat de volledige naam van het land voor de code op. -
Wanneer de knooppuntnaam slechts uit een taalcode (zoals
en
), de landgoederen*
en een aanvullendedefaultCountry
in de eigenschap wordt de code van het taalland opgeslagen om aan te geven welk land moet worden gebruikt.
De talen wijzigen:
-
Open CRXDE Lite in uw webbrowser; bijvoorbeeld: http://localhost:4502/crx/de
-
Selecteer
/apps
map en klik op Maken vervolgens Map maken.Geef een naam op voor de nieuwe map
wcm
. -
Herhaal de vorige stap om de
/apps/wcm/core
mapstructuur. Een knooppunt van het type makensling:Folder
in coreresources
. -
Klik met de rechtermuisknop op de knop
/libs/wcm/core/resources/languages
knoop en klik Kopiëren. -
Klik met de rechtermuisknop op de knop
/apps/wcm/core/resources
map en klik op Plakken. Wijzig de onderliggende knooppunten naar wens. -
Klikken Alles opslaan.
-
Klikken Gereedschappen, Bewerkingen dan Webconsole. Van deze console klik OSGi vervolgens Configuratie.
-
Zoeken en klikken Day CQ WCM Language Manager en wijzigt u de waarde van Taallijst tot
/apps/wcm/core/resources/languages
en klik vervolgens op Opslaan.
MSM-vergrendelingen configureren op pagina-eigenschappen (interface met aanraakbediening) configuring-msm-locks-on-page-properties-touch-enabled-ui
Wanneer u een aangepaste pagina-eigenschap maakt, moet u mogelijk overwegen of de nieuwe eigenschap kan worden geïmplementeerd voor live kopieën.
Als bijvoorbeeld twee nieuwe pagina-eigenschappen worden toegevoegd:
-
E-mailadres contactpersoon:
- Dit onroerend goed hoeft niet te worden uitgevoerd, omdat het per land (of merk, enz.) anders zal zijn.
-
Belangrijke visuele stijl:
- Het projectvereiste is dat dit onroerend goed moet worden uitgevoerd zoals het (gewoonlijk) gemeenschappelijk is voor alle landen (of merken, enz.).
Daarna moet u ervoor zorgen dat:
-
E-mailadres contactpersoon:
- is uitgesloten van de opgebouwde eigenschappen; zie Eigenschappen en knooppunttypen uitsluiten van synchronisatie.
-
Belangrijke visuele stijl:
- Zorg ervoor dat u deze eigenschap niet mag bewerken in de interface met aanraakbediening, tenzij de overerving wordt geannuleerd, en dat u de overerving vervolgens opnieuw kunt installeren. Dit wordt gecontroleerd door de ketting/gebroken-ketting verbindingen te klikken die om op de status van de verbinding van een knevel te wijzen.
Of een pagina-eigenschap moet worden geïmplementeerd en, afhankelijk van het annuleren/opnieuw installeren van overerving tijdens het bewerken, wordt dan gecontroleerd door de dialoogvenster-eigenschap:
-
cq-msm-lockable
-
is van toepassing op items in een interface-dialoogvenster met aanraakbediening
-
maakt het kettingkoppelingssymbool in het dialoogvenster
-
is alleen bewerken toegestaan als overerving is geannuleerd (de ketting-koppeling is verbroken)
-
alleen van toepassing op het eerste onderliggende niveau van de bron
-
Type:
String
-
Waarde: houder is van de naam van het betrokken goed (en vergelijkbaar is met de waarde van het goed)
name
; zie bijvoorbeeld/libs/foundation/components/page/cq:dialog/content/items/tabs/items/basic/items/column/items/title/items/title
-
Wanneer cq-msm-lockable
is gedefinieerd, heeft het breken/sluiten van de keten op de volgende manier interactie met MSM:
-
als de waarde van
cq-msm-lockable
is:-
Relatief (bijvoorbeeld
myProperty
of./myProperty
)- de eigenschap wordt toegevoegd en verwijderd uit
cq:propertyInheritanceCancelled
.
- de eigenschap wordt toegevoegd en verwijderd uit
-
Absoluut (bijvoorbeeld
/image
)- Als u de keten breekt, wordt de overerving geannuleerd door het toevoegen van de
cq:LiveSyncCancelled
mixen naar./image
en instellencq:isCancelledForChildren
tottrue
. - als de keten wordt gesloten , wordt de overerving hersteld .
- Als u de keten breekt, wordt de overerving geannuleerd door het toevoegen van de
-