diff --git a/bundle/pom.xml b/bundle/pom.xml index 79fd784..14f683c 100644 --- a/bundle/pom.xml +++ b/bundle/pom.xml @@ -100,6 +100,10 @@ org.apache.sling org.apache.sling.models.api + + com.adobe.acs + acs-aem-commons-bundle + com.adobe.aem uber-jar @@ -187,6 +191,14 @@ + + org.apache.maven.plugins + maven-compiler-plugin + + 8 + 8 + + diff --git a/bundle/src/main/java/com/adobe/acs/samples/httpcache/AutomatedLayoutPageInvalidator.java b/bundle/src/main/java/com/adobe/acs/samples/httpcache/AutomatedLayoutPageInvalidator.java new file mode 100644 index 0000000..fb88ff2 --- /dev/null +++ b/bundle/src/main/java/com/adobe/acs/samples/httpcache/AutomatedLayoutPageInvalidator.java @@ -0,0 +1,96 @@ +package com.adobe.acs.samples.httpcache; + +/* + * #%L + * ACS AEM Commons Bundle + * %% + * Copyright (C) 2015 Adobe + * %% + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * #L% + */ + +import com.adobe.acs.commons.httpcache.engine.HttpCacheEngine; +import com.adobe.acs.commons.httpcache.exception.HttpCacheKeyCreationException; +import com.adobe.acs.commons.httpcache.exception.HttpCachePersistenceException; +import com.day.cq.commons.jcr.JcrConstants; +import org.apache.commons.lang.StringUtils; +import org.apache.sling.api.resource.observation.ResourceChange; +import org.apache.sling.api.resource.observation.ResourceChangeListener; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.ConfigurationPolicy; +import org.osgi.service.component.annotations.Reference; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Automated Memory Cache Flusher + *

+ * Helps reducing maintenance by automatically flushing the ACS commons memory cache by implementing ResourceChangeListener. + *

+ */ +@Component( + configurationPolicy = ConfigurationPolicy.OPTIONAL, + immediate = true, + property = { + ResourceChangeListener.PATHS + "=/apps/acs-samples/components/structure/page/layout", + ResourceChangeListener.PATHS + "=/content/acs-samples", + ResourceChangeListener.CHANGES + "=ADDED", + ResourceChangeListener.CHANGES + "=CHANGED", + ResourceChangeListener.CHANGES + "=REMOVED", + } +) +// @formatter:on +public class AutomatedLayoutPageInvalidator implements ResourceChangeListener { + + private static final Logger LOG = LoggerFactory.getLogger(AutomatedLayoutPageInvalidator.class); + private static final String PATH_SUFFIX = "/" + JcrConstants.JCR_CONTENT + ".content.html"; + + private static final Pattern PATTERN = Pattern.compile("((/content/acs-samples/(headers|footers)/[a-zA-Z0-9_-]{1,99}))(.*)/(.*)"); + + @Reference + private HttpCacheEngine engine; + + @Override + public void onChange(List changes) { + for (ResourceChange change : changes) { + + LOG.debug("Attempting to extract header path from: {}", change.getPath()); + String layoutPagePath = extractHeaderPath(change.getPath()); + + if (StringUtils.isNotEmpty(layoutPagePath)) { + LOG.debug("Extracted header path: {}", layoutPagePath); + try { + LOG.debug("Flushing path {}", layoutPagePath + PATH_SUFFIX); + engine.invalidateCache(layoutPagePath + PATH_SUFFIX); + } catch (HttpCachePersistenceException | HttpCacheKeyCreationException e) { + LOG.error("Error flushing path!", e); + } + } + + } + } + + private String extractHeaderPath(String headerChildResourcePath) { + Matcher matcher = PATTERN.matcher(headerChildResourcePath); + + if (matcher.matches()) { + return matcher.group(1); + } + return null; + } +} \ No newline at end of file diff --git a/bundle/src/main/java/com/adobe/acs/samples/httpcache/CookieCacheExtension.java b/bundle/src/main/java/com/adobe/acs/samples/httpcache/CookieCacheExtension.java new file mode 100644 index 0000000..342e665 --- /dev/null +++ b/bundle/src/main/java/com/adobe/acs/samples/httpcache/CookieCacheExtension.java @@ -0,0 +1,101 @@ +package com.adobe.acs.samples.httpcache; + +import com.adobe.acs.commons.httpcache.config.HttpCacheConfig; +import com.adobe.acs.commons.httpcache.config.HttpCacheConfigExtension; +import com.adobe.acs.commons.httpcache.exception.HttpCacheKeyCreationException; +import com.adobe.acs.commons.httpcache.exception.HttpCacheRepositoryAccessException; +import com.adobe.acs.commons.httpcache.keys.CacheKey; +import com.adobe.acs.commons.httpcache.keys.CacheKeyFactory; +import com.adobe.acs.samples.httpcache.definitions.CookieCacheExtensionConfig; +import com.adobe.acs.samples.httpcache.key.CookieCacheKey; +import com.adobe.acs.samples.httpcache.key.CookieKeyValueMap; +import com.adobe.acs.samples.httpcache.key.CookieKeyValueMapBuilder; +import com.google.common.collect.ImmutableSet; +import org.apache.sling.api.SlingHttpServletRequest; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.ConfigurationPolicy; +import org.osgi.service.metatype.annotations.Designate; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.servlet.http.Cookie; +import java.util.Set; + +/** + * CookieCacheExtension + *

+ * This extension on the HTTP cache allows for specific cookie combinations to create seperated cache entries. + * This so we can present a different header based on cookie values, which tell us if a user is logged in and what type of user it is. + *

+ */ +@Component(configurationPolicy = ConfigurationPolicy.REQUIRE , service = {HttpCacheConfigExtension.class, CacheKeyFactory.class}) +@Designate(ocd = CookieCacheExtensionConfig.class, factory = true) +public class CookieCacheExtension implements HttpCacheConfigExtension, CacheKeyFactory { + private static final Logger log = LoggerFactory.getLogger(CookieCacheExtension.class); + + private boolean emptyAllowed; + private String configName; + private Set cookieKeys; + + //------------------------- + + @Override + public boolean accepts(SlingHttpServletRequest request, HttpCacheConfig cacheConfig) throws + HttpCacheRepositoryAccessException { + + if(emptyAllowed){ + return true; + }else{ + Set presentCookies = ImmutableSet.copyOf(request.getCookies()); + return containsAtLeastOneMatch(presentCookies); + } + } + + private boolean containsAtLeastOneMatch(Set presentCookies){ + CookieKeyValueMapBuilder builder = new CookieKeyValueMapBuilder(cookieKeys, presentCookies); + CookieKeyValueMap map = builder.build(); + return !map.isEmpty(); + } + + + //------------------------- + + @Override + public CacheKey build(final SlingHttpServletRequest slingHttpServletRequest, final HttpCacheConfig cacheConfig) + throws HttpCacheKeyCreationException { + + ImmutableSet presentCookies = ImmutableSet.copyOf(slingHttpServletRequest.getCookies()); + CookieKeyValueMapBuilder builder = new CookieKeyValueMapBuilder(cookieKeys, presentCookies); + return new CookieCacheKey(slingHttpServletRequest, cacheConfig, builder.build()); + } + + + public CacheKey build(String resourcePath, HttpCacheConfig httpCacheConfig) throws HttpCacheKeyCreationException { + return new CookieCacheKey(resourcePath, httpCacheConfig, new CookieKeyValueMap()); + } + + @Override + public boolean doesKeyMatchConfig(CacheKey key, HttpCacheConfig cacheConfig) throws HttpCacheKeyCreationException { + + // Check if key is instance of GroupCacheKey. + if (!(key instanceof CookieCacheKey)) { + return false; + } + + CookieCacheKey thatKey = (CookieCacheKey) key; + + return new CookieCacheKey(thatKey.getUri(), cacheConfig,thatKey.getKeyValueMap()).equals(key); + } + + + //------------------------- + + @Activate + protected void activate(CookieCacheExtensionConfig config) { + this.cookieKeys = ImmutableSet.copyOf(config.allowedCookieKeys()); + this.configName = config.configName(); + this.emptyAllowed = config.emptyAllowed(); + log.info("GroupHttpCacheConfigExtension activated/modified."); + } +} diff --git a/bundle/src/main/java/com/adobe/acs/samples/httpcache/ResourcePathCacheExtension.java b/bundle/src/main/java/com/adobe/acs/samples/httpcache/ResourcePathCacheExtension.java new file mode 100644 index 0000000..5d535e9 --- /dev/null +++ b/bundle/src/main/java/com/adobe/acs/samples/httpcache/ResourcePathCacheExtension.java @@ -0,0 +1,112 @@ +package com.adobe.acs.samples.httpcache; + +import com.adobe.acs.commons.httpcache.config.HttpCacheConfig; +import com.adobe.acs.commons.httpcache.config.HttpCacheConfigExtension; +import com.adobe.acs.commons.httpcache.exception.HttpCacheKeyCreationException; +import com.adobe.acs.commons.httpcache.exception.HttpCacheRepositoryAccessException; +import com.adobe.acs.commons.httpcache.keys.CacheKey; +import com.adobe.acs.commons.httpcache.keys.CacheKeyFactory; +import com.adobe.acs.samples.httpcache.definitions.ResourcePathCacheExtensionConfig; +import com.adobe.acs.samples.httpcache.key.ResourcePathCacheKey; +import org.apache.commons.lang.StringUtils; +import org.apache.sling.api.SlingHttpServletRequest; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.ConfigurationPolicy; +import org.osgi.service.metatype.annotations.Designate; + +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Pattern; + +/** + * ResourcePathCacheExtension + *

+ * Simple cache extension to only create keys based on the resource path. + *

+ */ +@Component(configurationPolicy = ConfigurationPolicy.REQUIRE , service = {HttpCacheConfigExtension.class, CacheKeyFactory.class}) +@Designate(ocd = ResourcePathCacheExtensionConfig.class, factory = true) +public class ResourcePathCacheExtension implements HttpCacheConfigExtension, CacheKeyFactory { + + private List resourcePathPatterns; + private List selectorPatterns; + private List extensionPatterns; + + private String configName; + + @Override + public boolean accepts(SlingHttpServletRequest request, HttpCacheConfig cacheConfig) throws + HttpCacheRepositoryAccessException { + String resourcePath = request.getRequestPathInfo().getResourcePath(); + + if(!matches(resourcePathPatterns, resourcePath)){ + return false; + } + + if(!matches(selectorPatterns, request.getRequestPathInfo().getSelectorString())){ + return false; + } + + if(!matches(extensionPatterns, request.getRequestPathInfo().getExtension())){ + return false; + } + + return true; + } + + private boolean matches(List source, String query) { + if(StringUtils.isNotBlank(query)){ + for(Pattern pattern : source){ + if(pattern.matcher(query).find()){ + return true; + } + } + } + return false; + } + + @Override + public CacheKey build(final SlingHttpServletRequest slingHttpServletRequest, final HttpCacheConfig cacheConfig) + throws HttpCacheKeyCreationException { + return new ResourcePathCacheKey(slingHttpServletRequest, cacheConfig); + } + + + public CacheKey build(String resourcePath, HttpCacheConfig httpCacheConfig) throws HttpCacheKeyCreationException { + return new ResourcePathCacheKey(resourcePath, httpCacheConfig); + } + + @Override + public boolean doesKeyMatchConfig(CacheKey key, HttpCacheConfig cacheConfig) throws HttpCacheKeyCreationException { + + // Check if key is instance of GroupCacheKey. + if (!(key instanceof ResourcePathCacheKey)) { + return false; + } + + ResourcePathCacheKey thatKey = (ResourcePathCacheKey) key; + + return new ResourcePathCacheKey(thatKey.getUri(), cacheConfig).equals(key); + } + + @Activate + protected void activate(ResourcePathCacheExtensionConfig config){ + this.configName = config.configName(); + this.resourcePathPatterns = compileToPatterns(config.resourcePathPatterns()); + this.extensionPatterns = compileToPatterns(config.extensions()); + this.selectorPatterns = compileToPatterns(config.selectors()); + } + + private List compileToPatterns(final String[] regexes) { + final List patterns = new ArrayList(); + + for (String regex : regexes) { + if (StringUtils.isNotBlank(regex)) { + patterns.add(Pattern.compile(regex)); + } + } + + return patterns; + } +} diff --git a/bundle/src/main/java/com/adobe/acs/samples/httpcache/definitions/CookieCacheExtensionConfig.java b/bundle/src/main/java/com/adobe/acs/samples/httpcache/definitions/CookieCacheExtensionConfig.java new file mode 100644 index 0000000..b938191 --- /dev/null +++ b/bundle/src/main/java/com/adobe/acs/samples/httpcache/definitions/CookieCacheExtensionConfig.java @@ -0,0 +1,36 @@ +package com.adobe.acs.samples.httpcache.definitions; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +/** + * CookieCacheExtensionConfig + *

+ * Configuration OCD object for the CookiecCacheExtension + *

+ */ +@ObjectClassDefinition( + name = "CookieCacheExtensionConfig - Configuration OCD object for the CookiecCacheExtension", + description = "Extension for the ACS commons HTTP Cache. Leverages cookies." +) +public @interface CookieCacheExtensionConfig { + + @AttributeDefinition( + name = "Configuration Name", + description = "The unique identifier of this extension" + ) + String configName() default ""; + + @AttributeDefinition( + name = "Allowed Cookies", + description = "Cookie keys that will used to generate a cache key." + ) + String[] allowedCookieKeys() default {}; + + @AttributeDefinition( + name = "Empty is allowed", + description = "Cookie keys that will used to generate a cache key." + ) + boolean emptyAllowed() default false; + +} \ No newline at end of file diff --git a/bundle/src/main/java/com/adobe/acs/samples/httpcache/definitions/ResourcePathCacheExtensionConfig.java b/bundle/src/main/java/com/adobe/acs/samples/httpcache/definitions/ResourcePathCacheExtensionConfig.java new file mode 100644 index 0000000..5b28964 --- /dev/null +++ b/bundle/src/main/java/com/adobe/acs/samples/httpcache/definitions/ResourcePathCacheExtensionConfig.java @@ -0,0 +1,41 @@ +package com.adobe.acs.samples.httpcache.definitions; + +import org.osgi.service.metatype.annotations.AttributeDefinition; +import org.osgi.service.metatype.annotations.ObjectClassDefinition; + +/** + * ResourcePathCacheExtensionConfig + *

+ * Configuration OCD object for the ResourcePathCacheExtension + *

+ */ +@ObjectClassDefinition( + name = "ResourcePathCacheExtensionConfig - Configuration OCD object for the ResourcePathCacheExtension", + description = "Extension for the ACS commons HTTP Cache. Based on resource paths, selectors and extensions." +) +public @interface ResourcePathCacheExtensionConfig { + + @AttributeDefinition( + name = "Configuration Name", + description = "The unique identifier of this extension" + ) + String configName() default ""; + + @AttributeDefinition( + name = "Resource path patterns", + description = "List of resource path patterns (regex) that will be valid for caching" + ) + String[] resourcePathPatterns(); + + @AttributeDefinition( + name = "Selector patterns", + description = "List of selector patterns (regex) that will be valid for caching" + ) + String[] selectors(); + + @AttributeDefinition( + name = "Extension patterns", + description = "List of extension patterns (regex) that will be valid for caching" + ) + String[] extensions(); +} \ No newline at end of file diff --git a/bundle/src/main/java/com/adobe/acs/samples/httpcache/key/CookieCacheKey.java b/bundle/src/main/java/com/adobe/acs/samples/httpcache/key/CookieCacheKey.java new file mode 100644 index 0000000..1df81e5 --- /dev/null +++ b/bundle/src/main/java/com/adobe/acs/samples/httpcache/key/CookieCacheKey.java @@ -0,0 +1,69 @@ +package com.adobe.acs.samples.httpcache.key; + +import com.adobe.acs.commons.httpcache.config.HttpCacheConfig; +import com.adobe.acs.commons.httpcache.exception.HttpCacheKeyCreationException; +import com.adobe.acs.commons.httpcache.keys.AbstractCacheKey; +import com.adobe.acs.commons.httpcache.keys.CacheKey; +import org.apache.commons.lang3.builder.EqualsBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; +import org.apache.sling.api.SlingHttpServletRequest; + +/** + * CookieCacheKey + *

+ * This class represents a cache key in the HTTP Cache that will be used to separate header cache entries. + *

+ */ +public class CookieCacheKey extends AbstractCacheKey implements CacheKey { + + + private final CookieKeyValueMap keyValueMap; + + public CookieCacheKey(SlingHttpServletRequest request, HttpCacheConfig cacheConfig, CookieKeyValueMap keyValueMap) throws + HttpCacheKeyCreationException { + + super(request, cacheConfig); + this.keyValueMap = keyValueMap; + } + + public CookieCacheKey(String uri, HttpCacheConfig cacheConfig, CookieKeyValueMap keyValueMap) throws HttpCacheKeyCreationException { + super(uri, cacheConfig); + + this.keyValueMap = keyValueMap; + } + + public CookieKeyValueMap getKeyValueMap() { + return keyValueMap; + } + + @Override + public boolean equals(Object o) { + if (!super.equals(o)) { + return false; + } + + CookieCacheKey that = (CookieCacheKey) o; + + return new EqualsBuilder() + .append(getUri(), that.getUri()) + .append(keyValueMap, that.keyValueMap) + .append(getAuthenticationRequirement(), that.getAuthenticationRequirement()) + .isEquals(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder(17, 37) + .append(getUri()) + .append(keyValueMap) + .append(getAuthenticationRequirement()).toHashCode(); + } + + @Override + public String toString() { + StringBuilder formattedString = new StringBuilder(this.uri); + formattedString.append(keyValueMap.toString()); + formattedString.append("[AUTH_REQ:" + getAuthenticationRequirement() + "]"); + return formattedString.toString(); + } +} \ No newline at end of file diff --git a/bundle/src/main/java/com/adobe/acs/samples/httpcache/key/CookieKeyValueMap.java b/bundle/src/main/java/com/adobe/acs/samples/httpcache/key/CookieKeyValueMap.java new file mode 100644 index 0000000..7df582f --- /dev/null +++ b/bundle/src/main/java/com/adobe/acs/samples/httpcache/key/CookieKeyValueMap.java @@ -0,0 +1,52 @@ +package com.adobe.acs.samples.httpcache.key; + +import org.apache.commons.lang3.StringUtils; + +import java.util.HashMap; +import java.util.Iterator; + +/** + * CookieKeyValueMap + *

+ * Basically a HashMap with a nice toString function for the CookieCacheKey to hold cookies into. + *

+ */ +public class CookieKeyValueMap extends HashMap { + + public CookieKeyValueMap() { + } + + + @Override + public String toString() { + + StringBuilder result = new StringBuilder("[CookieKeyValues:"); + + Iterator> entries = entrySet().iterator(); + + if(!isEmpty()){ + while (entries.hasNext()) { + + Entry entry = entries.next(); + String key = entry.getKey(); + String value = entry.getValue(); + + if (StringUtils.isNotEmpty(value)) { + result.append(key + "=" + value); + } else { + //cookie is only present, but no value. + result.append(key); + } + + if (entries.hasNext()) { + result.append(","); + } + + } + } + + result.append("]"); + return result.toString(); + + } +} diff --git a/bundle/src/main/java/com/adobe/acs/samples/httpcache/key/CookieKeyValueMapBuilder.java b/bundle/src/main/java/com/adobe/acs/samples/httpcache/key/CookieKeyValueMapBuilder.java new file mode 100644 index 0000000..12239da --- /dev/null +++ b/bundle/src/main/java/com/adobe/acs/samples/httpcache/key/CookieKeyValueMapBuilder.java @@ -0,0 +1,34 @@ +package com.adobe.acs.samples.httpcache.key; + +import javax.servlet.http.Cookie; +import java.util.Set; + +/** + * CookieKeyValueMapBuilder + *

+ * The purpose of the cookie key value map builder is to handle cookiekeyvaluemap instantation. + *

+ */ +public class CookieKeyValueMapBuilder { + + private final Set allowedKeys; + private final Set presentCookies; + private final CookieKeyValueMap keyValueMap = new CookieKeyValueMap(); + + public CookieKeyValueMapBuilder(Set allowedKeys, Set presentCookies){ + + this.allowedKeys = allowedKeys; + this.presentCookies = presentCookies; + } + + + public CookieKeyValueMap build(){ + + presentCookies.stream() + .filter( cookie -> allowedKeys.contains(cookie.getName())) + .forEach(cookie -> keyValueMap.put(cookie.getName(), cookie.getValue())); + + return keyValueMap; + } + +} diff --git a/bundle/src/main/java/com/adobe/acs/samples/httpcache/key/ResourcePathCacheKey.java b/bundle/src/main/java/com/adobe/acs/samples/httpcache/key/ResourcePathCacheKey.java new file mode 100644 index 0000000..31b3d25 --- /dev/null +++ b/bundle/src/main/java/com/adobe/acs/samples/httpcache/key/ResourcePathCacheKey.java @@ -0,0 +1,74 @@ +package com.adobe.acs.samples.httpcache.key; + +import com.adobe.acs.commons.httpcache.config.HttpCacheConfig; +import com.adobe.acs.commons.httpcache.keys.AbstractCacheKey; +import com.adobe.acs.commons.httpcache.keys.CacheKey; +import com.day.cq.commons.PathInfo; +import org.apache.commons.lang.builder.EqualsBuilder; +import org.apache.commons.lang.builder.HashCodeBuilder; +import org.apache.sling.api.SlingHttpServletRequest; +import org.apache.sling.api.request.RequestPathInfo; + +/** + * ResourcePathCacheKey + *

+ * A key that only contains a resource path + *

+ */ +public class ResourcePathCacheKey extends AbstractCacheKey implements CacheKey { + + + private final String selector; + private final String extension; + + public ResourcePathCacheKey(SlingHttpServletRequest request, HttpCacheConfig cacheConfig) { + super(request, cacheConfig); + + RequestPathInfo pathInfo = request.getRequestPathInfo(); + selector = pathInfo.getSelectorString(); + extension = pathInfo.getExtension(); + } + + public ResourcePathCacheKey(String uri, HttpCacheConfig cacheConfig){ + super(uri, cacheConfig); + RequestPathInfo pathInfo = new PathInfo(uri); + selector = pathInfo.getSelectorString(); + extension = pathInfo.getExtension(); + } + + @Override + public boolean equals(Object o) { + + if (o == null) { + return false; + } + + ResourcePathCacheKey that = (ResourcePathCacheKey) o; + return new EqualsBuilder() + .append(resourcePath, that.resourcePath) + .append(getExtension(), that.getExtension()) + .append(getSelector(), that.getSelector()) + .isEquals(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder() + .append(resourcePath) + .toHashCode(); + } + + @Override + public String toString(){ + return resourcePath + "." + getSelector() + "." + getExtension(); + } + + + public String getSelector() { + return selector; + } + + public String getExtension() { + return extension; + } +} diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/contentpage/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/contentpage/.content.xml new file mode 100644 index 0000000..479a352 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/contentpage/.content.xml @@ -0,0 +1,7 @@ + + diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/contentpage/_cq_dialog/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/contentpage/_cq_dialog/.content.xml new file mode 100644 index 0000000..7755c96 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/contentpage/_cq_dialog/.content.xml @@ -0,0 +1,136 @@ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+
+
+
+
+ + + + + + + + + + + +
+
+
+
+
\ No newline at end of file diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/contentpage/body.html b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/contentpage/body.html new file mode 100644 index 0000000..5c89f78 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/contentpage/body.html @@ -0,0 +1,14 @@ + + + + +
+ +
+ + + + + \ No newline at end of file diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/.content.xml new file mode 100644 index 0000000..bddd1eb --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/.content.xml @@ -0,0 +1,7 @@ + + diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/_cq_dialog/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/_cq_dialog/.content.xml new file mode 100644 index 0000000..391ad90 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/_cq_dialog/.content.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/body.html b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/body.html new file mode 100644 index 0000000..60b417c --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/body.html @@ -0,0 +1,3 @@ +
+ +
\ No newline at end of file diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/footerpage/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/footerpage/.content.xml new file mode 100644 index 0000000..5c3edfa --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/footerpage/.content.xml @@ -0,0 +1,7 @@ + + diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/footerpage/content.html b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/footerpage/content.html new file mode 100644 index 0000000..c7eaa70 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/footerpage/content.html @@ -0,0 +1,4 @@ +
+ Some footer content. + +
\ No newline at end of file diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/.content.xml new file mode 100644 index 0000000..265b9d3 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/.content.xml @@ -0,0 +1,7 @@ + + diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/content.html b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/content.html new file mode 100644 index 0000000..939068d --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/content.html @@ -0,0 +1,9 @@ +
+ + + + + + + +
\ No newline at end of file diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/include-menupage-entries.html b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/include-menupage-entries.html new file mode 100644 index 0000000..11e6ab4 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/include-menupage-entries.html @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry-variant-b/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry-variant-b/.content.xml new file mode 100644 index 0000000..9d27812 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry-variant-b/.content.xml @@ -0,0 +1,7 @@ + + diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry-variant-b/_cq_dialog/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry-variant-b/_cq_dialog/.content.xml new file mode 100644 index 0000000..5f63c56 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry-variant-b/_cq_dialog/.content.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry-variant-b/content.html b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry-variant-b/content.html new file mode 100644 index 0000000..502ea3e --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry-variant-b/content.html @@ -0,0 +1,12 @@ +
+ + Sling magic! I render differently! + + ${properties['jcr:title']} + + +
+ +
+ +
diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry/.content.xml new file mode 100644 index 0000000..8c39ff1 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry/.content.xml @@ -0,0 +1,7 @@ + + diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry/_cq_dialog/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry/_cq_dialog/.content.xml new file mode 100644 index 0000000..5f63c56 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry/_cq_dialog/.content.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry/content.html b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry/content.html new file mode 100644 index 0000000..0836781 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-mainentry/content.html @@ -0,0 +1,11 @@ +
+ + + ${properties['jcr:title']} + + +
+ +
+ +
diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-subentry/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-subentry/.content.xml new file mode 100644 index 0000000..3d7590c --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-subentry/.content.xml @@ -0,0 +1,7 @@ + + diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-subentry/_cq_dialog/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-subentry/_cq_dialog/.content.xml new file mode 100644 index 0000000..5f63c56 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-subentry/_cq_dialog/.content.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-subentry/content.html b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-subentry/content.html new file mode 100644 index 0000000..a7273da --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/components/structure/page/layout/headerpage/menupage-subentry/content.html @@ -0,0 +1,7 @@ +
+ + + ${properties['jcr:title']} + + +
diff --git a/content/src/main/content/jcr_root/apps/acs-samples/config/com.adobe.acs.commons.httpcache.config.impl.HttpCacheConfigImpl-layout.xml b/content/src/main/content/jcr_root/apps/acs-samples/config/com.adobe.acs.commons.httpcache.config.impl.HttpCacheConfigImpl-layout.xml new file mode 100644 index 0000000..4ca1171 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/config/com.adobe.acs.commons.httpcache.config.impl.HttpCacheConfigImpl-layout.xml @@ -0,0 +1,13 @@ + + + diff --git a/content/src/main/content/jcr_root/apps/acs-samples/config/com.adobe.acs.samples.httpcache.ResourcePathCacheExtension-layout.xml b/content/src/main/content/jcr_root/apps/acs-samples/config/com.adobe.acs.samples.httpcache.ResourcePathCacheExtension-layout.xml new file mode 100644 index 0000000..7896ea2 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/config/com.adobe.acs.samples.httpcache.ResourcePathCacheExtension-layout.xml @@ -0,0 +1,9 @@ + + \ No newline at end of file diff --git a/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/content-page/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/content-page/.content.xml new file mode 100644 index 0000000..4cad360 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/content-page/.content.xml @@ -0,0 +1,10 @@ + + + + diff --git a/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/footer-page/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/footer-page/.content.xml new file mode 100644 index 0000000..68badbb --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/footer-page/.content.xml @@ -0,0 +1,10 @@ + + + + diff --git a/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/header-menu-mainentry-page/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/header-menu-mainentry-page/.content.xml new file mode 100644 index 0000000..a4a6696 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/header-menu-mainentry-page/.content.xml @@ -0,0 +1,10 @@ + + + + diff --git a/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/header-menu-mainentry-variant-b-page/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/header-menu-mainentry-variant-b-page/.content.xml new file mode 100644 index 0000000..2903594 --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/header-menu-mainentry-variant-b-page/.content.xml @@ -0,0 +1,10 @@ + + + + diff --git a/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/header-menu-subentry-page/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/header-menu-subentry-page/.content.xml new file mode 100644 index 0000000..4bce0cc --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/header-menu-subentry-page/.content.xml @@ -0,0 +1,9 @@ + + + + diff --git a/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/header-page/.content.xml b/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/header-page/.content.xml new file mode 100644 index 0000000..b0f01bf --- /dev/null +++ b/content/src/main/content/jcr_root/apps/acs-samples/layout-pages/templates/header-page/.content.xml @@ -0,0 +1,11 @@ + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/content-page/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/content-page/.content.xml new file mode 100644 index 0000000..1f7757e --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/content-page/.content.xml @@ -0,0 +1,10 @@ + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/content-page/initial/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/content-page/initial/.content.xml new file mode 100644 index 0000000..d2a9ccf --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/content-page/initial/.content.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/content-page/policies/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/content-page/policies/.content.xml new file mode 100644 index 0000000..24701e2 --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/content-page/policies/.content.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/content-page/structure/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/content-page/structure/.content.xml new file mode 100644 index 0000000..d5d978b --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/content-page/structure/.content.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/content-page/thumbnail.png b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/content-page/thumbnail.png new file mode 100644 index 0000000..b04e9f7 Binary files /dev/null and b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/content-page/thumbnail.png differ diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/empty-page/initial/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/empty-page/initial/.content.xml index 822f308..839073b 100644 --- a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/empty-page/initial/.content.xml +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/empty-page/initial/.content.xml @@ -12,4 +12,5 @@ jcr:primaryType="nt:unstructured" sling:resourceType="wcm/foundation/components/responsivegrid"/> + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/footer-page/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/footer-page/.content.xml new file mode 100644 index 0000000..9e45631 --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/footer-page/.content.xml @@ -0,0 +1,10 @@ + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/footer-page/initial/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/footer-page/initial/.content.xml new file mode 100644 index 0000000..7d029ac --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/footer-page/initial/.content.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/footer-page/policies/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/footer-page/policies/.content.xml new file mode 100644 index 0000000..24701e2 --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/footer-page/policies/.content.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/footer-page/structure/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/footer-page/structure/.content.xml new file mode 100644 index 0000000..bc05a35 --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/footer-page/structure/.content.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/footer-page/thumbnail.png b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/footer-page/thumbnail.png new file mode 100644 index 0000000..b04e9f7 Binary files /dev/null and b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/footer-page/thumbnail.png differ diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/header-page/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/header-page/.content.xml new file mode 100644 index 0000000..43be981 --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/header-page/.content.xml @@ -0,0 +1,10 @@ + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/header-page/initial/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/header-page/initial/.content.xml new file mode 100644 index 0000000..cba99e8 --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/header-page/initial/.content.xml @@ -0,0 +1,10 @@ + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/header-page/policies/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/header-page/policies/.content.xml new file mode 100644 index 0000000..a75803f --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/header-page/policies/.content.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/header-page/structure/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/header-page/structure/.content.xml new file mode 100644 index 0000000..7554b31 --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/header-page/structure/.content.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/header-page/thumbnail.png b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/header-page/thumbnail.png new file mode 100644 index 0000000..b04e9f7 Binary files /dev/null and b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/template-types/header-page/thumbnail.png differ diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/layout-content-page/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/layout-content-page/.content.xml new file mode 100644 index 0000000..6e8726c --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/layout-content-page/.content.xml @@ -0,0 +1,10 @@ + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/layout-content-page/initial/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/layout-content-page/initial/.content.xml new file mode 100644 index 0000000..a691582 --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/layout-content-page/initial/.content.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/layout-content-page/policies/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/layout-content-page/policies/.content.xml new file mode 100644 index 0000000..dab196f --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/layout-content-page/policies/.content.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/layout-content-page/structure/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/layout-content-page/structure/.content.xml new file mode 100644 index 0000000..fbf0997 --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/layout-content-page/structure/.content.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/layout-content-page/thumbnail.png b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/layout-content-page/thumbnail.png new file mode 100644 index 0000000..b04e9f7 Binary files /dev/null and b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/layout-content-page/thumbnail.png differ diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-footer/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-footer/.content.xml new file mode 100644 index 0000000..e8fc679 --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-footer/.content.xml @@ -0,0 +1,10 @@ + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-footer/initial/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-footer/initial/.content.xml new file mode 100644 index 0000000..6051bed --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-footer/initial/.content.xml @@ -0,0 +1,11 @@ + + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-footer/policies/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-footer/policies/.content.xml new file mode 100644 index 0000000..dab196f --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-footer/policies/.content.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-footer/structure/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-footer/structure/.content.xml new file mode 100644 index 0000000..d1f9425 --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-footer/structure/.content.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-footer/thumbnail.png b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-footer/thumbnail.png new file mode 100644 index 0000000..b04e9f7 Binary files /dev/null and b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-footer/thumbnail.png differ diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-header/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-header/.content.xml new file mode 100644 index 0000000..ee402d3 --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-header/.content.xml @@ -0,0 +1,10 @@ + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-header/initial/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-header/initial/.content.xml new file mode 100644 index 0000000..4639e4e --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-header/initial/.content.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-header/policies/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-header/policies/.content.xml new file mode 100644 index 0000000..dab196f --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-header/policies/.content.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-header/structure/.content.xml b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-header/structure/.content.xml new file mode 100644 index 0000000..0d4e3d1 --- /dev/null +++ b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-header/structure/.content.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + diff --git a/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-header/thumbnail.png b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-header/thumbnail.png new file mode 100644 index 0000000..b04e9f7 Binary files /dev/null and b/content/src/main/content/jcr_root/conf/acs-samples/settings/wcm/templates/standard-header/thumbnail.png differ diff --git a/content/src/main/content/jcr_root/content/acs-samples/footers/.content.xml b/content/src/main/content/jcr_root/content/acs-samples/footers/.content.xml new file mode 100755 index 0000000..89bed83 --- /dev/null +++ b/content/src/main/content/jcr_root/content/acs-samples/footers/.content.xml @@ -0,0 +1,9 @@ + + + + diff --git a/content/src/main/content/jcr_root/content/acs-samples/footers/footer-example/.content.xml b/content/src/main/content/jcr_root/content/acs-samples/footers/footer-example/.content.xml new file mode 100755 index 0000000..3084309 --- /dev/null +++ b/content/src/main/content/jcr_root/content/acs-samples/footers/footer-example/.content.xml @@ -0,0 +1,9 @@ + + + + diff --git a/content/src/main/content/jcr_root/content/acs-samples/headers/.content.xml b/content/src/main/content/jcr_root/content/acs-samples/headers/.content.xml new file mode 100755 index 0000000..3e011b7 --- /dev/null +++ b/content/src/main/content/jcr_root/content/acs-samples/headers/.content.xml @@ -0,0 +1,9 @@ + + + + diff --git a/content/src/main/content/jcr_root/content/acs-samples/headers/header-example/.content.xml b/content/src/main/content/jcr_root/content/acs-samples/headers/header-example/.content.xml new file mode 100755 index 0000000..a43a316 --- /dev/null +++ b/content/src/main/content/jcr_root/content/acs-samples/headers/header-example/.content.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/content/src/main/content/jcr_root/content/acs-samples/headers/header-example/exotic-menu-item/.content.xml b/content/src/main/content/jcr_root/content/acs-samples/headers/header-example/exotic-menu-item/.content.xml new file mode 100755 index 0000000..f3be60d --- /dev/null +++ b/content/src/main/content/jcr_root/content/acs-samples/headers/header-example/exotic-menu-item/.content.xml @@ -0,0 +1,13 @@ + + + + + + diff --git a/content/src/main/content/jcr_root/content/acs-samples/headers/header-example/exotic-menu-item/other-sub-entry/.content.xml b/content/src/main/content/jcr_root/content/acs-samples/headers/header-example/exotic-menu-item/other-sub-entry/.content.xml new file mode 100755 index 0000000..98ab179 --- /dev/null +++ b/content/src/main/content/jcr_root/content/acs-samples/headers/header-example/exotic-menu-item/other-sub-entry/.content.xml @@ -0,0 +1,10 @@ + + + + diff --git a/content/src/main/content/jcr_root/content/acs-samples/headers/header-example/exotic-menu-item/some-sub-entry/.content.xml b/content/src/main/content/jcr_root/content/acs-samples/headers/header-example/exotic-menu-item/some-sub-entry/.content.xml new file mode 100755 index 0000000..8fbcc15 --- /dev/null +++ b/content/src/main/content/jcr_root/content/acs-samples/headers/header-example/exotic-menu-item/some-sub-entry/.content.xml @@ -0,0 +1,10 @@ + + + + diff --git a/content/src/main/content/jcr_root/content/acs-samples/headers/header-example/home/.content.xml b/content/src/main/content/jcr_root/content/acs-samples/headers/header-example/home/.content.xml new file mode 100755 index 0000000..637a09e --- /dev/null +++ b/content/src/main/content/jcr_root/content/acs-samples/headers/header-example/home/.content.xml @@ -0,0 +1,11 @@ + + + + diff --git a/content/src/main/content/jcr_root/content/acs-samples/layout-content-pageexample/.content.xml b/content/src/main/content/jcr_root/content/acs-samples/layout-content-pageexample/.content.xml new file mode 100755 index 0000000..77605c8 --- /dev/null +++ b/content/src/main/content/jcr_root/content/acs-samples/layout-content-pageexample/.content.xml @@ -0,0 +1,13 @@ + + + + diff --git a/pom.xml b/pom.xml index e865c4b..39191fb 100644 --- a/pom.xml +++ b/pom.xml @@ -159,6 +159,12 @@ provided apis + + com.adobe.acs + acs-aem-commons-bundle + 3.15.0 + provided + org.slf4j slf4j-api