AEM as a Cloud Service Developer Console (Beta) developer-console
The AEM as a Cloud Service Developer Console includes a set of read-only tools for debugging cloud environments. It can be accessed through a per-environment link in Cloud Manager and offers features to view bundles, OSGi settings, services and servlets, and more.
- A limited set of users can access the new console via a button at the top of the current Developer Console.
- Adobe welcomes any feedback, which you can send to
aemcs-new-devconsole-ui-beta@adobe.com. - For the documentation about the current AEM Developer Console, please see this article.
- The AEM as a Cloud Service Developer Console should not be confused with the similarly named Adobe Developer Console.
Prerequisites prerequisites
The Developer Console is only accessible to users with certain roles in certain programs.
- For production programs, the “Cloud Manager - Developer Role” in the Adobe Admin Console controls access to the Developer Console.
- For sandbox programs, any user with a product profile granting AEM access can use the Developer Console.
- For all programs, the “Cloud Manager - Developer Role” is required for status dumps and access to the repository browser.
To view data from both author and publish services, users must also be assigned to the “AEM Users” or “AEM Administrators Product Profile” on both services.
For more information about setting up user permissions, please see the Cloud Manager Documentation.
OSGi Bundles Tab osgi-bundles
The OSGi Bundles tab provides an overview of OSGi bundles that are deployed in the selected environment and offers a full-text search.
- The tab provides information on the actual state of bundles in the environment such as exported packages, imported packages, used services, and more.
- It is ideal to check the status of bundles see if the bundle does what it is expected to do.
Example use-case: Let’s say you specify a version range for a dependency in your bundle. But something goes wrong with the dependency and you need to check which version of the dependency is actually used by the bundle. To check, open the Developer Console and click on a bundle name on the OSGi Bundles tab to access the bundle details, and use the Importing Bundles accordion to check which bundle version or package version is being used at runtime. With this information, you can adjust your maven dependency version range or adapt your code.
Java Packages Tab java-packages
The Java Packages tab offers a search field to search packages that are active in the environment’s OSGi system.
- You can see which bundle exports (or provides) the package, and you can see which bundles import (or use) the package.
- You can also check for duplicate packages (same package, different versions), which can cause problems in some cases.
Example use-case: Let’s say that a custom service using the dynamic class loader loads a class without specifying a version. Since multiple bundles export different versions, the implementation varies, causing changes in behavior. You want to check which packages are in the environment without analyzing the feature model. Using this tab you can search for the package and view all exported versions and you can then use a better version range.
Configurations Tab configurations
The Configurations tab offers a searchable list of configurations that are active in the environment. You can see which properties are provided by each configuration by click on it and viewing the details page.
- Example use case: Let’s say you want to make sure that the configurations you specified are actually present in the environment. If you search the Configurations tab in the console and the configuration is missing, you can check the feature model, the configuration run mode, or folder.
Servlets Tab servlets
The Servlets tab offers a search field where you can specify a path with selectors and an extension with either GET or POST. It then provides a list of servlets in order of preference which handles the request in Sling.
Example use case: Let’s say you have an OSGi servlet that should activate upon a request and print output to the response. However, instead of the expected output, you get an empty response. You need to check if some other servlet is taking precedence over your servlet due to more specific selectors, resourceType, extensions, or ranking. You search for the expected path, and find another servlet is active with a higher rank. You can then decide if you can increase the rank of your servlet by adding selectors, for example.
Services Tab services
The Services tab provides an overview of the services present in the selected environment and offers a full-text search.
Click on a service to view its details.
OSGi Components Tab osgi-components
The OSGi Components tab provides an overview of OSGi components that are present in the selected environment type and offers a full-text search. You can see the live state of OSGi components in the environment and which services it satisfies, the bundle providing it, and the activation type (immediate or delayed).
- Example use case 1: Let’s say you need to check whether a component activated with a configuration is active in a specific environment since you are encountering unexpected behavior. You simply look up the component in the search and check to see if the component is active or not.
- Example use case 2: Let’s say you want to see which out-of-the-box components are available in the environment and identify the services they support in order to learn more about Adobe Experience Manager as a Cloud Service. You can check the components in the component list.
Integrations Tab integrations
The Integrations tab allows admins to generate, rename, and delete service credentials and developer tokens.
Repository Tab repository
The Repository tab opens the Repository browser.
Status Dumps / Queries Tab status-dumps-queries
The Status dumps / queries tab allows you to download a full text or JSON dump of the current state of bundles, packages, configurations, services, components, sling jobs, or Oak definitions.
You can also open the Query Performance tool.
- Example use case: This tab is especially useful if you encounter an unexpected state and want to communicate or document it for other developers. Downloading the dump gives you a snapshot of the state for later reference.