Why you should be using ACS AEM Projects

There’s nothing worse than spending unnecessary time architecting new site features only to find out someone’s already done it (am I right?). Many are unaware of the magical grouping of code for Adobe Experience Manager ready and waiting for AEM architects to use as needed. It is called ACS AEM Projects. If this is your first exposure to this fantastic time saver, there’s no time like the present! So worry no more, and read on—you’ll be glad you did (and so will your dev team).

What is ACS AEM Projects?

ACS AEM Projects is an umbrella for three open source projects provided to the Adobe Experience Manager Community by Adobe Consulting Services: Commons, Tools, and Samples. Their sole purpose is to enhance and augment implementations, support development teams, illuminate confusing parts of the software, and teach developers AEM best practices. Let’s walk through each one:

ACS AEM Commons
As stated on aempodcast.com, ACS AEM Commons is “a broad range of useful items that fill some gaps in the out-of-the-box implementation of Adobe Experience Manager. From servlets for capturing a series of image transforms under a re-usable label, to common workflow processes, and even tools to expand the logging capabilities of your AEM instance, AEM commons addresses many “missing features” that AEM developers, sysadmins, and business practitioners often find themselves wishing they had.” As Justin Edelson put it, they are the type of things “that should already be part of Adobe Experience Manager.” Commons contains items that are potentially useful for everyone who interacts with your AEM instance—Business Practitioners (Authors), Developers, and System Admins. We have covered these useful features extensively on our sister site AEM Podcast.

ACS AEM Tools contains additional “missing features,” with the exception that they do NOT belong in Production; they are a set of tools targeted to Adobe Experience Manager Developers. As it is stated on their site, “ACS AEM Tools is ONLY for use on Development and QA environments.” Really, ACS AEM Tools are “all about improving developer productivity.”

ACS AEM Samples
If you have some members of your team that are new to Adobe Experience Manager, then they could use ACS AEM Samples as a way of getting started on certain pieces of development. This should not be seen as training on the platform, but a starting block to beginning developers who already have some training under their belt, or even a refresher course for those who have stepped away from the AEM ecosystem for a while and need to get back up to speed. These are also not production ready and a developer should never just take them as they are and use them as a base for any component or page template that they are building. They are meant to be a way of helping developers get started on Adobe Experience Manager development.

Practical usage

As mentioned earlier, most of ACS AEM Commons provide features that developers might already expect Adobe Experience Manager to have; accordingly, your team might find themselves tempted to reinvent some of the items rolled into ACS AEM Projects. However, if your development team knows what is available within the list of features, then they won’t need to make that effort. This can save you both time and money, not to mention keep your developers from burning out.

You should be using the knowledge of these tools and features early in the architecting process of your AEM implementation. It can change the direction of decision making if you know of a piece that does not need to be programmed, allowing you to rely on the ACS team’s work as a starting point. Or, as the marketing manager, you may already be interested in a specific ACS feature, in which case you can give the BA and site architect direction regarding your requirements to use a specific piece. For example, maybe you know that you will need to communicate to all the authors on the system. You could then use the System Notifications tool to ensure that they see a notice each time they log in.

Let’s give an example of how this might work with a development team. If your teams use scrum, then when they are planning out their sprint, they will likely discuss how to approach a specific ticket. During that process, someone might estimate the task of setting up a transform on an image to be an 8 or 13 (on the Fibonacci scale). But in our scenario, the lead developer is already aware of the Named Transform Image Servlet feature of ACS AEM Commons, so he challenges the estimation of the work, giving his estimate of 3, pointing out that the ACS team has already developed code that will do that for them. Now, all they have to do is install the code and make the necessary configurations.

Here are a few aspects of ACS AEM Commons and Tools that you might find helpful—each with a link to a more in-depth look at their features:

Your team can be part of the ACS community

One of the interesting things that we learned from our conversation with Justin Edelson, Global Evangelist for Adobe Experience Manager and co-project lead of ACS AEM Commons and ACS AEM Tools, is that this isn’t a closed group. Anyone can submit a pull request to the ACS AEM Projects Github. If members of your team come across something they feel adds value to and should be part of AEM, then share it with the team. Watch the video here that discusses the sharing process.

Why ACS AEM Projects

These Adobe Consulting Services resources can be game changing for any AEM team. None of us have unlimited budgets, but we all have seemingly unlimited requests and requirements on our projects. If you can manage to save time and money by taking advantage of certain tools that have already been created by the ACS team, then you can really stay ahead of the game. Learn more about these valuable ACS AEM Projects features on our sister site, AEMPodcast.com, and don’t forget to share our blog with your team. You might find the features we highlight are exactly what your team needs.