Exadel Authoring Kit: AEM Tool with Impact

Share article

Bug tracking 2022

Read the whole Closer Look at Exadel Authoring Kit for AEM series

The average AEM developer is forced to interact with four heterogeneous types of software entities:Java, HTML, XML, and JS/CSS codes. Code-jumping in this way is no easy task and finding a way to streamline the process, by eliminating certain entities and reducing them to others, would relieve a lot of distraction.

XML is probably the very part that can be eliminated by auto-generation, which speeds up AEM content management and development. Realizing how much time can be saved and how feature-rich an AEM website can become, we came up with an extension called the Exadel Authoring Kit.

The history of the Exadel Authoring Kit in building AEM components

The Kit originated as an AEM tool for automating the creation of AEM TouchUI dialogs. Since our team had to facilitate hundreds of legacy AEM components in a new AEM TouchUI-based platform, the creation of the Exadel Authoring Kit was a crucial development in streamlining tasks and increasing productivity. Consequently, we decided in favor of helping developers and chose a Java-friendly approach.

Now, the Kit is continually growing into the go-to AEM tool that enterprise-level projects rely on if they’re dealing with large amounts of web pages.

What is the Exadel Authoring Kit’s approach as a dedicated AEM tool?

Abandoning heavy XML configs in favor of annotation-driven configuration is somewhat of a trend in the Java world. We see the same trend in Spring application development. In the AEM content management and development there are solutions that are fairly similar to ours. So, our approach is not unique ideologically, but it provides advanced quality and design and added efficiency.

The advantage of the Exadel Authoring Kit is that it is fully TouchUI-oriented, compatible with the modern AEM flavors, including AEMaaCS, and the Kit is not limited to just dialogs. It aims to provide a continuous, internally consistent, well-tested, and reliable development and authoring experience.

Which mundane tasks does the Exadel Authoring Kit reduce?

The Exadel Authoring Kit removes the routine and error-prone tasks many AEM developers and authors deal with on a daily basis. The Kit aims to automate a number of tasks that include:

  • creating (rather coping and pasting) XML markup for TouchUI dialogs
  • providing advanced interactive authoring experience
  • fetching network data on the fly
  • setting up component policies
  • storing and retrieving data in lists
  • handling advanced request- and resource-bound data in Sling models
  • and much more

We are continually adding more features to the kit, though the principle goal remains the same: we keep fighting boilerplate and routine in building AEM components.

“Even if the Exadel Tool Kit had only dialogs, the solution would still be more than suitable for AEM content management. Other capabilities of the Kit make up a pleasant bonus.” – Vladislav Baranov, Senior Director of MarTech Practice

When is the Exadel Authoring Kit appropriate for building AEM components?

If we told you that the Kit is a remedy for all your AEM content management, it would sound like an advertisement! In reality, your decision to use the Exadel Authoring Kit depends on the scope of your project and the number of AEM components you’re going to manage.

  • If you have a dozen components, or you stick to the core components with minimal amendments, then you’ll probably spend more time learning to use the Kit rather than on evolving your existing code base in a conventional way.But if your project is large-scale and there are dozens of AEM components with most of them being custom and flexible, the Exadel Authoring Kit will definitely save precious time and will reduce your costs.
  • If your authoring UI is simple and rather straightforward, converting it in the Exadel Authoring Kit is an option, indeed, but not essential. However, if your authoring is flexible and interactive, and you have to manage multiple options and support different visual representations of the same content, then the Kit will provide you with a range of essential tools that will save your time and provide optimal results.
  • Regardless of your project you will benefit from common utilities including simplified component policy management with AllowedChildren, EToolbox Lists and Injectors.

How do you measure the value of the Exadel Authoring Kit in AEM content management? Think team-wise. Every member of your team has access to AEM developer tools to facilitate effective web development and content authoring in AEM.

What are the tangible benefits of the Exadel Authoring Kit?

Software solutions are created to deliver efficiency and add value to business processes. However, you should realize that each solution has an ultimate objective. The Exadel Authoring Kit is a solution that addresses AEM component development.

“The Exadel Authoring Kit enables your authoring experience for multiple components which usually need flexible interactive dialogs.” – Liubou Masiuk, Senior Software Engineer

The Kit is not a remedy for everything when building AEM components. But your team may benefit from the features the Kit has to offer.

What are the advantages of the Exadel Authoring Kit for an average developer?

Programmers benefit most from using the Exadel Authoring Kit for a number of reasons:

  • Code brevity Annotations of the Kit provide a concise syntax that helps avoid boilerplate code in building AEM components. Boilerplate code is the code you have to write because of code syntax rules or best practices. But the code is repetitive and has little to no value. For some complex components such as RTE, annotations of the Kit can save a couple of dozen lines of code! You can see this in the following code snippet depicting a rather simple dialog.Code

    And now imagine how substantial the gain is if there are multiple dialogs in your project.
    From the above sample, you can see that annotations of the Kit provide sensible default values that reflect common use cases for creating TouchUI user experiences, which significantly reduces the number of lines to be written be it Java or XML files.

  • Dynamic UI You can create highly interactive UI without deep knowledge of JavaScript or Clientlibs (DependsOn). There are ready one-liner style solutions for the majority of typical tasks when building AEM components. For instance, you may hide an element in an authoring dialog and show it only if another element has a particular value; you may disable an element conditionally, or you may make one element’s value change with an alternation of another element, and all sorts of nifty time-saving actions like this! Additionally, there’s the possibility to resolve more complex cases and even add logic of your own.
  • Built-in documentationAnnotations of the Kit provide a complete list of supported settings for each feature. Developers don’t need to guess property names or try to find them in the vast and complex Granite documentation.Developers of the Kit have paid dedicated attention to ensuring that each property is thoroughly documented and works as expected. Every API element has been tested.

    Luckily, developers are not the only individuals who can take full advantage of the Kit. It’s great for Project Managers too!

What are the benefits for a Project Manager or Team Lead?

By using our AEM tool, managers can run projects with increased efficiency.

Code reuse

The Kit allows you to create reusable sets of fields and avoid code duplication when building AEM components. Also, developers can leverage inheritance and extension mechanisms to achieve even more code reusability. We have a dedicated page in the Toolbox documentation that describes code reuse techniques.

Improved maintainability

Keeping Sling model injectors and dialog definitions in perfect combination simplifies code readability and maintainability, as well as reduces potential issues and defects.

For example, a developer is given a simple task to add a new widget to a component’s dialog. Usually, the component dialog and component model are stored in different modules of the project. So, the developer can make some changes in the dialog and forget about the component model or vice versa.

These mistakes are hard to detect even during the code review, because they are challenging to track. But If we are combining the Exadel Authoring Kit annotations with Sling models, we have everything in one place. So, understanding or changing the code that is located in one place is much easier.

Team efficiency

You speed up the development process while giving your AEM development team more complex, unique tasks. With the Exadel Authoring Kit, front-end developers are relieved from supporting AEM authoring.

That said, your website authors also need a so-called mental breather when they deal with an AEM platform. Our AEM tool steps in here too.

What are the advantages for a Site Author or Manager?

Give your site manager a pleasant experience with AEM content management when filling the site with content and moderating it.

Advanced authoring features

The Exadel Authoring Kit adds new AEM developer tools and capabilities when building AEM components. Here’s the rundown of what you can achieve with our AEM tool:

  • Manage dynamic dialog behavior with DependsOn. DependsOn is a UI microframework that helps developers manage dynamic dialog behavior. For instance, you may hide or show dialog fields depending on other fields’ values. One great advantage of DependsOn is that it is designed to be easily used by either a front-end or back-end developer. We have two articles explaining DependsOn history and concepts. One of them talks about the Kit improving experience with DependsOn. And the other one explains how our AEM tool goes hand in hand with DependsOn.
  • Allow only specific components into particular pages and page sections with a very simple yet versatile coding technique, which is much simpler than the out-of-the-box one and unifies handling both the static and editable page templates.
  • Get custom handlers that allow you to add new dialog widgets and change component behavior globally without needing to go through each and every component.

Everything boils down to actually being able to use our AEM tool, stumbling-block free!

How do I master the Exadel Authoring Kit?

You need to have a clear understanding of your project to know how the Exadel Authoring Kit can benefit your AEM content management.

If you are going to manage only a couple of AEM components’ dialogs (around 10 overall per se), then our AEM tool will be a bit of an overkill. But if your components are many, or you maintain several projects at once, learning to use the Kit is a worthwhile investment. The API is well documented, and we’ve been working hard to provide both comprehensive descriptions of what you can achieve, as well as code samples.

There are features that are quite easy to master. The Exadel Toolbox Lists work straight out of the box. The Sling injectors are fairly intuitive. And, honestly, setting up components’ relations with @AllowedChildren is much quicker than fiddling with the templates’ XML sources.

“If you, being a developer, want to get comfortable with solving tasks or if you want the chance to offer your customers a unique take on their AEM content management in your extra time, then the Exadel Authoring Kit should catch your eye.” – Aliaksei Stsefanovich, Lead Software Engineer

Get in touch with us to help you implement our AEM tool to your project.

Can I start using the Exadel Authoring Kit on the existing project with lots of already built components?

You definitely can! Our AEM tool does not require any refactoring or project structure change. It will take over the components you will specify and will ignore the rest. It does not matter what AEM archetype your project is built upon, and even whether there are still Classic UI dialogs, or everything is already migrated to Touch UI.

In real life, we used to add the Kit to an existing project pretty cautiously – just to play around a bit. Then, we observed how much more manageable the Kit-controlled components became and started to create new components ‘the Authoring Kit way’. Eventually, we considered it’s worthwhile refactoring this or that ‘old’ component, usually when some changes to its structure were needed, anyway.

Have you tried the Exadel Authoring Kit for AEM content management, but wanted to quit?

The Exadel Authoring Kit is as non-invasive and unobtrusive as possible when building AEM components. You can actually keep on supporting your XML-based components. The Kit will just add auto generated content to manually created content. Similarly, you can switch component policies managed by the Kit. These will kind of override the ‘ordinary’ policies. But if you decide to dump the policies managed by the Kit one day, the ‘ordinary’ ones will be restored.

Additionally, different parts of the Exadel Authoring Kit can work independently. Let’s say you don’t necessarily need to use DependsOn with autogenerated dialogs since it works with the manual XML setup as well; you may choose to use only EToolbox Lists out of the whole Exadel Authoring Kit installation or just Injectors.

Where can I find more information about the Exadel Authoring Kit?

We get your excitement and desire to explore our AEM tool further. So, we gladly provide a more in-depth look into the extension for content authoring in AEM. Learn more about our solution by visiting the official Exadel Authoring Kit website. Or read articles about the Kit on our corporate blog to see how versatile the Kit can get in AEM content management.

Should you have any concerns or questions, get in touch with our Marketing Technology Team that works wonders with AEM-based solutions!

Get the hang of the Exadel Authoring Kit while building AEM components

We’re delighted to share the good news about our AEM tool with you! We do hope you have taken away some valuable insights from this article about the Exadel Authoring Kit’s capacity to streamline AEM content management processes – saving you time, reducing code, and ultimately making your life easier!