Utöka Multi Site Manager extending-the-multi-site-manager
På den här sidan kan du utöka funktionerna i Multi Site Manager:
- Läs mer om huvudmedlemmarna i MSM Java API.
- Skapa en ny synkroniseringsåtgärd som kan användas i en utrullningskonfiguration.
- Ändra standardspråk och landskoder.
-
Omstrukturering av anläggningstillgångar i AEM 6.4:
Översikt över Java API overview-of-the-java-api
Hantering av flera platser består av följande paket:
De huvudsakliga MSM API-objekten interagerar på följande sätt (se även Villkor):
-
Blueprint
ABlueprint(som i konfiguration av utkast) anger de sidor från vilka en live-kopia kan ärva innehåll.
-
Användning av en ritningskonfiguration (
Blueprint) är valfritt, men:- Tillåter författaren att använda Utrullning på källan (för att (explicit) överföra ändringar till live-kopior som ärver från den här källan).
- Tillåter författaren att använda Skapa webbplats; på så sätt kan användaren enkelt välja språk och konfigurera strukturen för live-kopian.
- Definierar standardkonfigurationen för utrullning för alla resulterande live-kopior.
-
-
LiveRelationshipTheLiveRelationshipAnger anslutningen (relationen) mellan en resurs i livekopiegrenen och dess ekvivalenta käll-/planresurs.- Relationerna används vid arv och utrullning.
LiveRelationshipobjekt ger åtkomst (referenser) till utrullningskonfigurationer (RolloutConfig),LiveCopyochLiveStatusobjekt som är relaterade till relationen.- En live-kopia skapas till exempel i
/content/copy/usfrån källan/ritningen på/content/we-retail/language-masters. Resurserna/content/we.retail/language-masters/en/jcr:contentoch/content/copy/us/en/jcr:contentskapa en relation.
-
LiveCopyinnehåller konfigurationsinformation för relationerna (LiveRelationship) mellan de aktiva kopieringsresurserna och deras käll-/ritresurser.- Använd
LiveCopy-klass för att komma åt sidans sökväg, sökvägen till käll-/ritningssidan, rollout-konfigurationerna och om underordnade sidor också inkluderas iLiveCopy. - A
LiveCopynoden skapas varje gång Skapa webbplats eller Skapa Live Copy används.
- Använd
-
LiveStatusobjekt ger åtkomst till körningsstatus för enLiveRelationship. Används för att fråga synkroniseringsstatusen för en live-kopia. -
LiveActionär en åtgärd som utförs på varje resurs som ingår i utrullningen.- LiveActions genereras endast av RolloutConfigs.
-
LiveActionFactoryskaparLiveActionobjekt somLiveActionkonfiguration. Konfigurationer lagras som resurser i databasen. -
RolloutConfiginnehåller en lista medLiveActions, som ska användas när den aktiveras. TheLiveCopyärverRolloutConfigoch resultatet finns iLiveRelationship.- När du konfigurerar en live-kopia för första gången används också en RolloutConfig (som utlöser LiveActions).
Skapa en ny synkroniseringsåtgärd creating-a-new-synchronization-action
Skapa anpassade synkroniseringsåtgärder som du kan använda med dina utrullningskonfigurationer. Skapa en synkroniseringsåtgärd när installerade åtgärder uppfyller inte dina specifika programkrav. Skapa då två klasser:
- Ett genomförande av
com.day.cq.wcm.msm.api.LiveActiongränssnitt som utför åtgärden. - En OSGI-komponent som implementerar
com.day.cq.wcm.msm.api.LiveActionFactory-gränssnittet och skapar instanser avLiveActionklassen.
The LiveActionFactory skapar instanser av LiveAction klass för en viss konfiguration:
-
LiveAction-klasser innehåller följande metoder:getName: Returnerar namnet på åtgärden Namnet används för att referera till åtgärden, till exempel i utrullningskonfigurationer.execute: Utför åtgärderna.
-
LiveActionFactory-klasserna innehåller följande medlemmar:LIVE_ACTION_NAME: Ett fält som innehåller namnet på det associeradeLiveAction. Namnet måste sammanfalla med värdet som returneras avgetNamemetodenLiveActionklassen.createAction: Skapar en instans avLiveAction. ValfrittResource-parametern kan användas för att tillhandahålla konfigurationsinformation.createsAction: Returnerar namnet på associeradLiveAction.
Åtkomst till konfigurationsnoden för LiveAction accessing-the-liveaction-configuration-node
Använd LiveAction konfigurationsnoden i databasen för att lagra information som påverkar körningsbeteendet för LiveAction -instans. Noden i databasen som lagrar LiveAction konfigurationen är tillgänglig för LiveActionFactory objekt vid körning. Därför kan du lägga till egenskaper i konfigurationsnoden och använda dem i LiveActionFactory implementering efter behov.
Till exempel en LiveAction måste lagra namnet på den som skapat ritningen. En egenskap för konfigurationsnoden innehåller egenskapsnamnet för den planeringssida som lagrar informationen. Vid körning visas LiveAction hämtar egenskapsnamnet från konfigurationen och hämtar sedan egenskapsvärdet.
Parametern för LiveActionFactory.createAction metoden är en Resource -objekt. Detta Resource objektet representerar cq:LiveSyncAction nod för denna live-åtgärd i utrullningskonfigurationen, se Skapa en utrullningskonfiguration. Som vanligt när du använder en konfigurationsnod bör du anpassa den till en ValueMap objekt:
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);
}
Åtkomst till målnoder, källnoder och LiveRelationship accessing-target-nodes-source-nodes-and-the-liverelationship
Följande objekt anges som parametrar för execute metoden LiveAction objekt:
-
A
Resourcesom representerar källan till Live Copy. -
A
Resourcesom representerar målet för Live Copy. -
The
LiveRelationshipobjekt för live-kopian. -
The
autoSavevärdet anger omLiveActionbör spara ändringar som görs i databasen. -
Återställningsvärdet anger återställningsläget för utrullning.
Från dessa objekt kan du hämta all information om LiveCopy. Du kan också använda Resource objekt att hämta ResourceResolver, Sessionoch Node objekt. De här objekten är användbara för att hantera databasinnehåll:
I den första raden i följande kod är källan Resource källsidans objekt:
ResourceResolver resolver = source.getResourceResolver();
Session session = resolver.adaptTo(javax.jcr.Session.class);
Node sourcenode = source.adaptTo(javax.jcr.Node.class);
Resource argument kan null eller Resources objekt som inte anpassar sig till Node objekt, som NonExistingResource objekt.Skapa en ny utrullningskonfiguration creating-a-new-rollout-configuration
Skapa en utrullningskonfiguration när de installerade utrullningskonfigurationerna inte uppfyller dina programkrav:
Den nya utrullningskonfigurationen är sedan tillgänglig för dig när du ställer in utrullningskonfigurationer på en ritnings- eller Live copy-sida.
Skapa utrullningskonfiguration create-the-rollout-configuration
Så här skapar du en ny utrullningskonfiguration:
-
Öppna CRXDE Lite, till exempel:
http://localhost:4502/crx/de -
Navigera till :
/apps/msm/<your-project>/rolloutconfigsnote note NOTE Det här är projektets anpassade version av: /libs/msm/wcm/rolloutconfigs
Måste skapas om detta är din första konfiguration.note note NOTE Du får inte ändra något i sökvägen /libs.
Detta beror på att innehållet i /libs skrivs över nästa gång du uppgraderar din instans (och kan mycket väl skrivas över när du använder en snabbkorrigering eller ett funktionspaket).
Den rekommenderade metoden för konfiguration och andra ändringar är:- Återskapa önskat objekt (t.ex. som det finns i /libs) under /apps
- Gör ändringar i /apps
-
Under Skapa en nod med följande egenskaper:
- Namn: Nodnamnet för utrullningskonfigurationen. md#installed-synchronization-actions), till exempel
contentCopyellerworkflow. - Typ:
cq:RolloutConfig
- Namn: Nodnamnet för utrullningskonfigurationen. md#installed-synchronization-actions), till exempel
-
Lägg till följande egenskaper i den här noden:
-
Namn:
jcr:titleTyp:
String
Värde: En identifierande titel som visas i användargränssnittet. -
Namn:
jcr:descriptionTyp:
String
Värde: En valfri beskrivning. -
Namn:
cq:triggerTyp:
String
Värde: The Utlösare för utrullning som ska användas. Välj från:rolloutmodificationpublishdeactivate
-
-
Klicka Spara alla.
Lägg till synkroniseringsåtgärder i utrullningskonfigurationen add-synchronization-actions-to-the-rollout-configuration
Utrullningskonfigurationer lagras under konfigurationsnod för utrullning som du har skapat under /apps/msm/<your-project>/rolloutconfigs nod.
Lägg till underordnade noder av typen cq:LiveSyncAction för att lägga till synkroniseringsåtgärder i utrullningskonfigurationen. Ordningen på synkroniseringsåtgärdsnoderna avgör i vilken ordning åtgärderna utförs.
-
Fortfarande i CRXDE Lite väljer du Konfiguration av utrullning nod.
Till exempel:
/apps/msm/myproject/rolloutconfigs/myrolloutconfig -
Skapa en nod med följande nodegenskaper:
- Namn: Synkroniseringsåtgärdens nodnamn.
Namnet måste vara detsamma som Åtgärdsnamn i tabellen under Synkroniseringsåtgärder, till exempelcontentCopyellerworkflow. - Typ:
cq:LiveSyncAction
- Namn: Synkroniseringsåtgärdens nodnamn.
-
Lägg till och konfigurera så många noder för synkroniseringsåtgärder som du behöver. Ordna om åtgärdsnoderna så att ordningen matchar den ordning i vilken du vill att de ska visas. Den översta åtgärdsnoden inträffar först.
-
Klicka Spara alla.
Skapa och använda en enkel LiveActionFactory-klass creating-and-using-a-simple-liveactionfactory-class
Följ anvisningarna i det här avsnittet för att utveckla en LiveActionFactory och använda den i en utrullningskonfiguration. Processerna använder Maven och Eclipse för att utveckla och driftsätta LiveActionFactory:
- Skapa maven-projektet och importera den till Eclipse.
- Lägg till beroenden till POM-filen.
- Implementera
LiveActionFactoryinteface och driftsätta OSGi-paketet. - Skapa utrullningskonfigurationen.
- Skapa en live-kopia.
Maven-projektet och Java-klassens källkod är tillgängliga i det offentliga Git-arkivet.
KOD PÅ GITHUB
Koden för den här sidan finns på GitHub
- Open ExperienceManager-java-msmrollout-projekt på GitHub
- Hämta projektet som en ZIP-fil
Skapa projektet Maven create-the-maven-project
Följande procedur kräver att du har lagt till adobe-public-profilen i Maven-inställningsfilen.
- Mer information om profilen adobe-public finns i Hämta innehållspaketet Maven Plugin
- Mer information om inställningsfilen för Maven finns i Maven Inställningsreferens.
-
Öppna en terminal- eller kommandoradssession och ändra katalogen så att den pekar på den plats där projektet ska skapas.
-
Ange följande kommando:
code language-xml mvn archetype:generate -DarchetypeGroupId=com.day.jcr.vault -DarchetypeArtifactId=multimodule-content-package-archetype -DarchetypeVersion=1.0.0 -DarchetypeRepository=adobe-public-releases -
Ange följande värden vid en interaktiv fråga:
groupId:com.adobe.example.msmartifactId:MyLiveActionFactoryversion:1.0-SNAPSHOTpackage:MyPackageappsFolderName:myappartifactName:MyLiveActionFactory packagepackageGroup:myPackages
-
Starta Eclipse och importera projektet Maven.
Lägg till beroenden till POM-filen add-dependencies-to-the-pom-file
Lägg till beroenden så att Eclipse-kompilatorn kan referera till klasserna som används i LiveActionFactory kod.
-
Öppna filen i Eclipse Project Explorer:
MyLiveActionFactory/pom.xml -
Klicka på
pom.xmloch leta uppproject/dependencyManagement/dependencies-avsnitt. -
Lägg till följande XML i
dependencyManagementoch spara sedan filen.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> -
Öppna POM-filen för paketet från Projektutforskaren på
MyLiveActionFactory-bundle/pom.xml. -
Klicka på
pom.xmloch leta upp avsnittet Projekt/beroenden. Lägg till följande XML i beroendeelementet och spara sedan filen: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>
Implementera LiveActionFactory implement-liveactionfactory
Följande LiveActionFactory class implements a LiveAction som loggar meddelanden om käll- och målsidor och kopierar cq:lastModifiedBy från källnoden till målnoden. Den aktiva åtgärdens namn är exampleLiveAction.
-
Högerklicka på knappen
MyLiveActionFactory-bundle/src/main/java/com.adobe.example.msmpaketera och klicka på Nytt > Klass. För Namn, angeExampleLiveActionFactoryoch sedan klicka Slutför. -
Öppna
ExampleLiveActionFactory.java, ersätter innehållet med följande kod och sparar filen.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 { } } } -
Ändra katalogen till
MyLiveActionFactorykatalogen (Maven project directory). Ange sedan följande kommando:code language-shell mvn -PautoInstallPackage clean installAEM
error.logfilen ska ange att paketet har startats.Till exempel: 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]
Skapa exempelkonfigurationen create-the-example-rollout-configuration
Skapa den MSM-utrullningskonfiguration som använder LiveActionFactory som du har skapat:
-
Skapa och konfigurera en Konfiguration av utrullning med standardproceduren - och använda egenskaperna:
- Titel: Exempelkonfiguration
- Namn: examplerolloutconfig
- cq:trigger:
publish
Lägg till Live-åtgärden i exempelkonfigurationen för utrullning add-the-live-action-to-the-example-rollout-configuration
Konfigurera den utrullningskonfiguration som du skapade i föregående procedur så att den använder ExampleLiveActionFactory klassen.
-
Öppna CRXDE Lite, till exempel http://localhost:4502/crx/de.
-
Skapa följande nod under
/apps/msm/rolloutconfigs/examplerolloutconfig/jcr:content:- Namn:
exampleLiveAction - Typ:
cq:LiveSyncAction
- Namn:
-
Klicka Spara alla.
-
Välj
exampleLiveActionnod och lägg till följande egenskap:- Namn:
repLastModBy - Typ:
Boolean - Värde:
true
Den här egenskapen indikerar för
ExampleLiveActionklassen somcq:LastModifiedByska replikeras från källan till målnoden. - Namn:
-
Klicka Spara alla.
Skapa Live Copy create-the-live-copy
Skapa en live-kopia på engelska/Products-grenen på referenswebbplatsen för webb.Retail med din rollout-konfiguration:
-
Källa:
/content/we-retail/language-masters/en/products -
Konfiguration av utrullning: Exempelkonfiguration
Aktivera Produkter (på engelska) sidan av källgrenen och observera loggmeddelandena som LiveAction klassen genererar:
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 ***
Ändra språknamn och standardländer changing-language-names-and-default-countries
AEM använder en standarduppsättning med språk- och landskoder.
- Standardspråkkoden är den gemena, tvåbokstavskod som definieras av ISO-639-1.
- Standardlandskoden är den gemena eller versala tvåbokstavskoden enligt ISO 3166.
MSM använder en lagrad lista med språk- och landskoder för att fastställa namnet på landet som är associerat med namnet på språkversionen av sidan. Du kan ändra följande aspekter av listan om det behövs:
- Språktitlar
- Landsnamn
- Standardländer för språk (för koder som
en,de, bland annat)
Språklistan sparas under /libs/wcm/core/resources/languages nod. Varje underordnad nod representerar ett språk eller ett språkområde:
-
Nodnamnet är språkkoden (till exempel
enellerde) eller koden för språk_land (till exempelen_usellerde_ch). -
The
language-egenskapen för noden lagrar det fullständiga namnet på kodspråket. -
The
country-egenskapen för noden lagrar det fullständiga namnet på landet för koden. -
När nodnamnet bara består av en språkkod (till exempel
en), egenskapen country är*och ytterligaredefaultCountry-egenskapen lagrar koden för det land som ska anges.
Så här ändrar du språk:
-
Öppna CRXDE Lite i webbläsaren; till exempel http://localhost:4502/crx/de
-
Välj
/appsmapp och klicka på Skapa sedan Skapa mapp.Namnge den nya mappen
wcm. -
Upprepa föregående steg för att skapa
/apps/wcm/coremappträd. Skapa en nod av typensling:Folderin core calledresources. -
Högerklicka på
/libs/wcm/core/resources/languagesnod och klicka Kopiera. -
Högerklicka på
/apps/wcm/core/resourcesmapp och klicka på Klistra in. Ändra de underordnade noderna efter behov. -
Klicka Spara alla.
-
Klicka verktyg, Operationer sedan Webbkonsol. Klicka på OSGi sedan Konfiguration.
-
Leta reda på och klicka Day CQ WCM Language Manager och ändra värdet för Språklista till
/apps/wcm/core/resources/languagesoch sedan klicka Spara.
Konfigurera MSM-lås på sidegenskaper (pekaktiverat gränssnitt) configuring-msm-locks-on-page-properties-touch-enabled-ui
När du skapar en anpassad sidegenskap kan du behöva fundera på om den nya egenskapen ska kunna rullas ut till alla live-kopior.
Om till exempel två nya sidegenskaper läggs till:
-
E-postadress:
- Den här egendomen behöver inte rullas ut eftersom den kommer att vara olika i varje land (eller varumärke osv.).
-
Visuell huvudstil:
- Projektkravet är att denna egenskap ska rullas ut eftersom den (vanligtvis) är gemensam för alla länder (eller varumärken, osv.).
Då måste du se till att:
-
E-postadress:
- är utesluten från de utrullade egenskaperna, se Exkludera egenskaper och nodtyper från synkronisering.
-
Visuell huvudstil:
- Se till att du inte får redigera den här egenskapen i det beröringsaktiverade användargränssnittet om inte arvet avbryts, och att du sedan kan återinstallera arvet; Detta styrs genom att klicka på kedjelänkarna/brutna kedjor som växlar för att ange anslutningsstatus.
Anger om en sidegenskap ska rullas ut och därför styrs arvet av egenskapen dialog, under förutsättning att arvet avbryts/återställs vid redigering:
-
cq-msm-lockable-
kan användas för objekt i en dialogruta med pekfunktioner
-
skapar kedjelänkssymbolen i dialogrutan
-
tillåter bara redigering om arv avbryts (kedjelänken bryts)
-
gäller endast den första underordnade nivån för resursen
-
Typ:
String -
Värde: innehåller namnet på den aktuella egendomen (och är jämförbart med värdet på egendomen)
name; se/libs/foundation/components/page/cq:dialog/content/items/tabs/items/basic/items/column/items/title/items/title
-
När cq-msm-lockable har definierats, om kedjan bryts/stängs kommer den att interagera med MSM på följande sätt:
-
om värdet för
cq-msm-lockableär:-
Relativ (t.ex.
myPropertyeller./myProperty)- den lägger till och tar bort egenskapen från
cq:propertyInheritanceCancelled.
- den lägger till och tar bort egenskapen från
-
Absolut (t.ex.
/image)- om du bryter kedjan avbryts arvet genom att lägga till
cq:LiveSyncCancelledblanda till./imageoch inställningcq:isCancelledForChildrentilltrue. - Om du stänger kedjan återställs arvet.
- om du bryter kedjan avbryts arvet genom att lägga till
-