In this is a tutorial I'll show how to configure and create Feature toggles in AEM using sling feature flags,
above is the vid and below you will find some useful notes.
- 1.
Pre-reqs
-
Have access to an Adobe Experience Manager instance. You will need aem 6.4 Service Pack 2 or newer.Have Maven installed, understand how it works and also understand how to use Adobe's archetype, you can watch my video about maven here: Creating an AEM application using Maven and Adobe's archetype
-
- 2.
Implementing feature toggles in AEM
-
If needed, create the new aem-feature-toggles application by using adobe’s archetype
mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate "-DarchetypeGroupId=com.adobe.granite.archetypes" "-DarchetypeArtifactId=aem-project-archetype" "-DarchetypeVersion=19" "-DarchetypeCatalog=https://repo.adobe.com/nexus/content/groups/public/" "-DgroupId=co.dlighthouse.aem.featuretoggles" "-DartifactId=aem-feature-toggles" "-Dversion=0.1.0-SNAPSHOT" "-Dpackage=co.dlighthouse.aem.featuretoggles" "-DappsFolderName=feature-toggles" "-DconfFolderName=feature-toggles" "-DartifactName=Feature Toggles Example" "-DcomponentGroupName=Feature Toggles Example" "-DcontentFolderName=feature-toggles" "-DcssId=feature-toggles" "-DpackageGroup=feature-toggles" "-DsiteName=Feature Toggles Example" "-DoptionAemVersion=6.5.0"
-
Create a new file named org.apache.sling.featureflags.impl.ConfiguredFeature-someFeature.xml inside your /apps/my-app/config folder
<?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" jcr:primaryType="sling:OsgiConfig" name="some-feature" description="This is Some Feature" enabled="{Boolean}false"/>
-
First, Import the Features interface
import org.apache.sling.featureflags.Features;
-
Inject it into the model by using the OSGiService annotation
@OSGiService private Features features;
-
Add the code to enable or disable the new feature
if(features.isEnabled("some-feature")) { //New functionality that is only enabled when the feature toggle is enabled } else { //Original functionality that is disabled when the feature toggle is disabled }
-
Build and deploy your application
mvn clean install -PautoInstallPackage -Padobe-public
-
- 3.
Configure the Feature Toggle in AEM
-
Go to the Felix console(/system/console/configMgr), look for ConfiguredFeature then click on the “someFeature”
-
- 4.
Comentarios
Publicar un comentario