What Is ACS AEM Commons?

July 18, 2019 | Brett Birschbach
blog image for what is ACS AEM commons

Adobe Platforms continue to grow by leaps and bounds, often through the acquisition of companies like Magento and Marketo. In addition, Adobe has an incredibly passionate developer base equally invested in the growth and success of Adobe and the Adobe Experience Cloud. Through an Adobe-managed open-source program called ACS AEM Commons, Adobe developers can make constant contributions, provide solutions, and share improvements with the community. In turn, Adobe can react more quickly, offer benefits and features not included by default, and experience constant growth.

Additionally, Bounteous, a Gold Level Adobe partner, places great value in consistently contributing to the Adobe community. For us, it is our way to solve problems as they come up with our clients as well as fulfilling our continued commitment to creating valuable tools and materials to extend functionality. These contributions make it simpler to combine existing platforms and assist in creating industry-leading digital experiences across the Adobe Experience Cloud.

As part of this commitment, we make frequent contributions to Adobe’s ACS AEM Commons. Bounteous is one of three partners able to contribute directly to the code base. However, anyone involved in the AEM community has the opportunity to submit solutions. 

Continue reading below to learn more about the library, various contributions, and how you can get involved.

What is ACS AEM Commons?

ACS AEM Commons is an open-source library of pre-built AEM tools and functionality to help accelerate and augment your AEM platform deployment. Similar to what Adobe has accomplished on the content authoring front with WCM Core components to avoid customers spending budget recreating the basic authoring tools that everyone needs, ACS AEM Commons provides advanced capabilities that your IT would otherwise need to implement.

Some of these features include:

  • Automatic sitemap generation to improve SEO
  • Content and asset packaging tools to aid in migration across environments
  • Shared component properties to allow authors to configure once and use everywhere
  • Dynamic asset renditions to increase site performance
  • Remote Assets support to use AEM assets from a separate server
  • Best practice code tools such as CloseableQueryBuilder and JSONEventLogger

And the list goes on (and on and on…seriously, check out the ACS AEM Commons site).

When Can ACS AEM Commons Help Me?

You’re kicking off a new project and you’re dreading having to start from scratch. But then you remember the entire Adobe community you have by your side and you know they often find themselves in a similar situation. This is when you turn to ACS AEM Commons. Maybe the exact solution you’re looking for is right there in front of you! Simply install the package onto your AEM server, and you’re good to go! If the exact solution you’re looking for doesn’t exist, you will most likely be able to find a base to work from. That way, you’re starting from something that already exists, saving you time, stress, and a few hours of sleep. And you never know, your new additions to the tool could even be the next great addition to ACS AEM Commons! 

ACS AEM Commons Is Open Source. Can I Trust It?

ACS AEM Commons is managed by Adobe and a few trusted individuals. Though anyone in the industry may offer to contribute features to the repository, only individuals from Adobe and three trusted partners (of which Bounteous is one) may review and incorporate those contributions into the code base that is released publicly. Beyond that, code contributed to ACS AEM Commons is often coming from some of the most talented engineers and architects in the industry, names you’ve probably heard of such as Mark Adamcin, Dan Klco, Jörg Hoh, Ryan Keenan, Justin Edelson, and David Gonzalez (just to name a few).

Thought choosing AEM over other platforms was a step away from open source due to AEM being proprietary? That’s not really the case. AEM leverages all sorts of open-source code like Sling and Jackrabbit underpinning AEM’s content storage and rendering, Felix for operations management, Lucene for content search, and more. Leveraging open-source code is a fact of life in today’s world of IT, regardless of your chosen platform. And, if you’re currently running AEM, chances are it’s pulling in ACS AEM Commons already.

Can I Contribute to ACS AEM Commons?

Sure! Anyone is allowed to contribute. As mentioned above, Adobe has selected a trusted few individuals to review and approve contributions, giving you the green light to bring on your ideas!

How Can I Contribute to ACS AEM Commons?

You might be thinking, “Those are some really impressive folks listed above as contributors. Who am I to contribute?” But I would ask, “What makes those folks any more capable to contribute than you?” The people I listed do all share a single attribute that qualifies them to contribute to ACS AEM Commons, but it’s not what you might think.

Yes, they are all super bright. Yes, Mark Adamcin truly does scare us with his depth of knowledge of AEM. But that’s not what gives them the right to contribute. The quality all contributors to ACS AEM Commons share is the willingness to contribute their ideas and confidence that those ideas are desirable to the community. That’s it, really. You already have good ideas, contribute them! No, seriously, be confident that you’re good enough. If you know anything about AEM you have a skill set very few people in the world possess – have the courage to share the things you’ve built!

Not a developer? No problem! If you’re in the AEM world, you surely know some developers – perhaps your IT team or trusted partner. Try your idea out with them – you’d be surprised how quickly a good idea can turn into reality. Features that Bounteous has contributed such as Shared Component Properties and Remote Assets were both results of a two-day hackathon event with a small team. In fact, Bounteous has another exciting AEM feature coming soon from our latest hackathon! Often it just takes an idea – developers are really good at the nerdy part ☺️.

Why Should I Contribute to ACS AEM Commons?

For starters, there are the altruistic, benevolent values of sharing with and supporting the AEM community. When you build something for a specific project, your company or client benefits, but when you build it for ACS AEM Commons the entire AEM community benefits, stakeholders and developers alike. Maybe your idea isn’t going to solve world hunger…but it might just save a new AEM developer from repeatedly cursing the platform for not supporting XYZ feature that Drupal supports (not that I’ve ever done that…).

But hey, let’s be honest, it’s okay to consider, “What’s in it for me?” as well. First off, contributing to open source can be hugely fulfilling. Your code contributed to ACS AEM Commons is quite literally going to be installed on thousands of AEM installations. In addition, contributing to AEM open source puts you into a very small group of folks in the industry. In some ways, AEM’s open source community being small can be frustrating (less free features) but on the flip side, it can be your opportunity to get to know (and make yourself known to) some of the biggest names in the industry. And if neither of those two reasons motivates you, at least you can once and for all implement that XYZ feature mentioned above and stop cursing AEM for not supporting it as well!

As you can see, contributing to ACS AEM Commons is beneficial to all members of the Adobe community, no matter your role in the ecosystem. All contributions continue to better the digital space by providing efficiency, usability, and ease across the AEM and the wider Adobe Experience Cloud. 

To learn more about our contributions and how those solutions, extensions, and connectors can help you on your next project, visit our individual contributions pages.