29 August 2019

Using Source Control with Adobe AEM Forms

Technical

Using source control is something that is often missed from AEM Forms projects or viewed as a ‘duh’ moment: “of course we use source control”.  

Well do you?

Within AEM Forms, especially considering artefacts such as XDP/PDF’s and fragments which were once common place for building interactive PDF forms, managing these files on disk is one thing, but to then be thrust into the world of CRX and JCR repositories can seem somewhat daunting. Without the same level of control as a source control system it can often be confusing as to how you can manage different versions of resources within AEM Forms.

What we have found is that you can still use the source control system of your choice be it git, subversion whatever. Then utilize the power of CRX package manager to build specific packages, depending on your source control of choice (keep an eye on those filters) to install packages of forms within the AEM repository. 

This gives us the benefit of specifically managing forms and fragment versions as we have done historically, yet deploying them into the latest supported version of AEM Forms, best of both worlds! 

But how do you track the version once it’s been deployed to AEM? 

Well we’ve solved that too, depending on your choice of source control of course, the implementation might vary but I’ll use subversion as an example. For every build that we make, we inject an identifier for that build, be it a subversion revision number or a commit date for example, into one of the built artefacts. We can then use this injected variable as part of a hidden or visible component on a page, part of the package manager meta data or just for ease of reference to see what has been deployed into AEM Forms, so that we can track and make sure what we think is deployed, has been deployed. 

Easy now you know the secrets right?

Want to know more how to better your AEM experiences contact us

See how we can build your digital capability,
call us on +44(0)845 226 3351 or send us an email…