Skip to content

Updates the **App Management** documentation to reflect recent changes - #542

Merged
danidelcar merged 16 commits into
mainfrom
del-update-april
May 22, 2026
Merged

Updates the **App Management** documentation to reflect recent changes#542
danidelcar merged 16 commits into
mainfrom
del-update-april

Conversation

@danidelcar

@danidelcar danidelcar commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Purpose of this pull request

This pull request (PR) updates the App Management documentation to reflect recent SDK behavior, clarify deployment and Git practices, and help merchants and developers resolve common access and environment issues.

Affected pages

Links to Magento Open Source code

Summary of changes

  • Business configuration (configuration-schema.md) — Documents optional scope selectors on configuration APIs, default global scope, byCode vs byCodeAndLevel, and links to the Adobe Commerce SDK configuration library usage guide.
  • Build and deploy (build-deploy.md) — Adds Version control: commit app.commerce.config, ext.config.yaml, and .generated outputs to Git for a reproducible project; points to password encryption for secrets.
  • Initialize your app (initialize-app.md) — After init, reminds readers to commit new and updated files, with a link to the version control section.
  • Overview (index.md) — Clarifies App Management ACL placement under Admin UI SDK in Role Resources, links to troubleshooting; states that App Management is not supported for local Adobe Commerce installations and links to troubleshooting for detail.
  • Troubleshooting (troubleshooting.md) — New Cannot access App Management (permissions) walkthrough (System > User Roles > Role Resources) with screenshot; new Local Adobe Commerce instances limitation note.

Asset: app-management-role-resources.png added under src/pages/_images/app-management/.

Additional information

  • Add major-update label
  • Preview branch here

What's New highlights

whatsnew
Updated App Management docs: Overview now calls out ACL under Admin UI SDK and that local Commerce is unsupported; Troubleshooting adds Role Resources steps (with screenshot) and a local-instances limitation; Build and deploy and Initialize your app explain committing generated artifacts to Git; Business configuration documents global default scope and optional configuration selectors with a link to the SDK usage guide.

@danidelcar danidelcar self-assigned this Apr 22, 2026
@danidelcar danidelcar added the major-update Significant original updates to existing content label Apr 22, 2026
@github-project-automation github-project-automation Bot moved this to 📋 Needs Review in Commerce - Pull Requests Apr 22, 2026

`getConfiguration`, `getConfigurationByKey`, and `setConfiguration` accept an **optional** scope selector. When you omit it, the library resolves **global** scope (the same default used when you call `byCode` with only a scope code).

`byCode("my-scope")` applies the **global** level when you do not pass a level separately. To target another level (for example `base`), use `byCodeAndLevel("my-scope", "base")` or the selector that matches your scope tree.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a bit misleading and confusing. If I create a new scope in App Management for the app that is not linked to commerce, I specify a code only. When trying to getByCode I should be able to get the values of the scope created without having to know what level value was added. If am not wrong, the level base is added by default so this can create errors and support tickets.
@iivvaannxx can you please confirm the above?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was changed recently as part of this ticket CEXT-6105, which was created after @oshmyheliuk reported a confusing DX he had in this Slack thread.

I didn't know that the UI applied level of base, I thought it just didn't set a level. If that's the case then maybe we need to reconsider whether that change should be released or not (it hasn't yet). Seems to me like a tradeoff between these two cases:

  1. We keep it as before, in which case we cannot use byCode("global") as that would search for code: global and level: base -> A bit worse DX if you usually retrieve the values from the global scope.

  2. We keep the change, in which case we will need to document that all custom scopes created from the UI have a level of base (could this be changed?) and users need to specify it.

I think that using the global scope is the most common use case for now, so I'd be inclined to keep the change, but it's true that it might be prone to error if users don't know about this base level.

Comment thread src/pages/app-management/configuration-schema.md Outdated
Comment thread src/pages/app-management/configuration-schema.md Outdated
Comment thread src/pages/app-management/configuration-schema.md Outdated
Comment thread src/pages/app-management/troubleshooting.md Outdated
Comment thread src/pages/app-management/build-deploy.md Outdated
Comment thread src/pages/app-management/index.md Outdated
Comment thread src/pages/app-management/index.md Outdated
Comment thread src/pages/app-management/troubleshooting.md Outdated
danidelcar and others added 3 commits April 23, 2026 11:47
Co-authored-by: Ivan Porto Wigner <dev.ivanporto@gmail.com>
Co-authored-by: Kevin Harper <keharper@users.noreply.github.com>

* **App developers** declare webhooks in the `webhooks` field of `app.commerce.config`. That manifest is what App Management uses to know which webhook subscriptions belong to your app.
* **Merchants** complete whatever steps are required for App Management and the Commerce Admin **after** the app is associated. That typically means confirming or supplying connection details that the app cannot hard-code (for example, OAuth or credentials that the Admin stores as secrets, or reviewing subscription labels so hooks register against the right instance). The exact steps depend on your app and Commerce edition. See [Install and access App Management](https://experienceleague.adobe.com/en/docs/commerce/app-management/install#access-app-management) and [Commerce webhooks and apps](https://experienceleague.adobe.com/en/docs/commerce/app-management/install#commerce-webhooks-and-apps) on Experience League.
* **Merchants** receive an out-of-the-box experience with webhooks. See [Install and access App Management](https://experienceleague.adobe.com/en/docs/commerce/app-management/install#access-app-management) and [Commerce webhooks and apps](https://experienceleague.adobe.com/en/docs/commerce/app-management/install#commerce-webhooks-and-apps) for more information.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@oshmyheliuk can you confirm this? I suggested @danidelcar to do it as I believe we talked about this and you agreed no further steps should be needed, but I prefer to double-check

@github-project-automation github-project-automation Bot moved this from 📋 Needs Review to 👍 Approved in Commerce - Pull Requests May 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Linter Report

Click to expand full report
═══════════════════════════════════════════════════════════════
                     LINTER REPORT
═══════════════════════════════════════════════════════════════

Generated: 2026-05-22T07:09:03.923Z
Mode: Full Linting (all rules + dead links check)
Target Directory: /home/runner/work/commerce-extensibility/commerce-extensibility
Skipped Rules:
  - check-frontmatter → src/pages/_includes

───────────────────────────────────────────────────────────────

Files to process: 211

───────────────────────────────────────────────────────────────
📄 FILE: src/pages/admin-ui-sdk/app-review-checklist.md
───────────────────────────────────────────────────────────────
  ⚠️  WARNING
    Location: Line 23:142
    Message: Unexpected dead URL `https://developer.adobe.com/commerce/extensibility/admin-ui-sdk/extension-points/menu/#parameters`, expected live URL
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 23:142
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/admin-ui-sdk/extension-points/menu/#parameters`, expected final URL `https://developer.adobe.com/commerce/extensibility/admin-ui-sdk/extension-points/menu`
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 22:88
    Message: Unexpected dead URL `https://developer.adobe.com/commerce/extensibility/admin-ui-sdk/app-registration/#add-an-extensionregistration-component`, expected live URL
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 22:88
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/admin-ui-sdk/app-registration/#add-an-extensionregistration-component`, expected final URL `https://developer.adobe.com/commerce/extensibility/admin-ui-sdk/app-registration`
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 26:93
    Message: Unexpected dead URL `https://developer.adobe.com/commerce/extensibility/admin-ui-sdk/app-registration/#add-or-update-the-installyml-file`, expected live URL
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 26:93
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/admin-ui-sdk/app-registration/#add-or-update-the-installyml-file`, expected final URL `https://developer.adobe.com/commerce/extensibility/admin-ui-sdk/app-registration`
    Rule: no-dead-urls

───────────────────────────────────────────────────────────────
📄 FILE: src/pages/app-development/app-submission-guidelines.md
───────────────────────────────────────────────────────────────
  ⚠️  WARNING
    Location: Line 52:119
    Message: Unexpected dead URL `https://developer.adobe.com/commerce/extensibility/admin-ui-sdk/configuration/#general-configuration`, expected live URL
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 52:119
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/admin-ui-sdk/configuration/#general-configuration`, expected final URL `https://developer.adobe.com/commerce/extensibility/admin-ui-sdk/configuration`
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 63:107
    Message: Unexpected dead URL `https://developer.adobe.com/commerce/extensibility/starter-kit/integration/create-integration/#download-and-configure-the-integration-starter-kit`, expected live URL
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 63:107
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/starter-kit/integration/create-integration/#download-and-configure-the-integration-starter-kit`, expected final URL `https://developer.adobe.com/commerce/extensibility/starter-kit/integration/create-integration`
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 55:116
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/app-development/app-submission-guidelines/`, expected final URL `https://developer.adobe.com/commerce/extensibility/app-development/app-submission-guidelines`
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 70:123
    Message: Unexpected dead URL `https://developer.adobe.com/commerce/extensibility/starter-kit/integration/create-integration/#configure-the-starter-kit`, expected live URL
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 70:123
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/starter-kit/integration/create-integration/#configure-the-starter-kit`, expected final URL `https://developer.adobe.com/commerce/extensibility/starter-kit/integration/create-integration`
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 64:71
    Message: Unexpected dead URL `https://developer.adobe.com/commerce/extensibility/starter-kit/integration/create-integration/#paas-or-saas`, expected live URL
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 64:71
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/starter-kit/integration/create-integration/#paas-or-saas`, expected final URL `https://developer.adobe.com/commerce/extensibility/starter-kit/integration/create-integration`
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 64:191
    Message: Unexpected dead URL `https://developer.adobe.com/commerce/extensibility/starter-kit/integration/create-integration/#create-an-integration-in-adobe-commerce-as-a-cloud-service`, expected live URL
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 64:191
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/starter-kit/integration/create-integration/#create-an-integration-in-adobe-commerce-as-a-cloud-service`, expected final URL `https://developer.adobe.com/commerce/extensibility/starter-kit/integration/create-integration`
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 99:9
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/app-development/best-practices/credentials/`, expected final URL `https://developer.adobe.com/commerce/extensibility/app-development/best-practices/credentials`
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 129:106
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/admin-ui-sdk/app-review-checklist/`, expected final URL `https://developer.adobe.com/commerce/extensibility/admin-ui-sdk/app-review-checklist`
    Rule: no-dead-urls

───────────────────────────────────────────────────────────────
📄 FILE: src/pages/app-development/extension-compatibility.md
───────────────────────────────────────────────────────────────
  ⚠️  WARNING
    Location: Line 46:103
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/starter-kit/checkout/connect/`, expected final URL `https://developer.adobe.com/commerce/extensibility/starter-kit/checkout/connect`
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 110:351
    Message: Unexpected dead URL `https://experienceleague.adobe.com/docs/commerce/frontend/guide/storefront/luma.html`, expected live URL
    Rule: no-dead-urls

───────────────────────────────────────────────────────────────
📄 FILE: src/pages/app-development/learning-path.md
───────────────────────────────────────────────────────────────
  ⚠️  WARNING
    Location: Line 49:5
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/events/installation/`, expected final URL `https://developer.adobe.com/commerce/extensibility/events/installation`
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 59:5
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/admin-ui-sdk/installation/`, expected final URL `https://developer.adobe.com/commerce/extensibility/admin-ui-sdk/installation`
    Rule: no-dead-urls

───────────────────────────────────────────────────────────────
📄 FILE: src/pages/app-management/installation/webhooks.md
───────────────────────────────────────────────────────────────
  ⚠️  WARNING
    Location: Line 153:104
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/webhooks/responses/`, expected final URL `https://developer.adobe.com/commerce/extensibility/webhooks/responses`
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 159:3
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/webhooks/responses/`, expected final URL `https://developer.adobe.com/commerce/extensibility/webhooks/responses`
    Rule: no-dead-urls

───────────────────────────────────────────────────────────────
📄 FILE: src/pages/events/tutorial/event-providers.md
───────────────────────────────────────────────────────────────
  ⚠️  WARNING
    Location: Line 174:222
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/events/create-events/`, expected final URL `https://developer.adobe.com/commerce/extensibility/events/create-events`
    Rule: no-dead-urls

───────────────────────────────────────────────────────────────
📄 FILE: src/pages/starter-kit/checkout/configure.md
───────────────────────────────────────────────────────────────
  ⚠️  WARNING
    Location: Line 74:114
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/events/configure-additional-event-providers/`, expected final URL `https://developer.adobe.com/commerce/extensibility/events/configure-additional-event-providers`
    Rule: no-dead-urls

───────────────────────────────────────────────────────────────
📄 FILE: src/pages/starter-kit/checkout/getting-started.md
───────────────────────────────────────────────────────────────
  ⚠️  WARNING
    Location: Line 139:148
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/events/installation/`, expected final URL `https://developer.adobe.com/commerce/extensibility/events/installation`
    Rule: no-dead-urls

───────────────────────────────────────────────────────────────
📄 FILE: src/pages/starter-kit/checkout/tax-use-cases.md
───────────────────────────────────────────────────────────────
  ⚠️  WARNING
    Location: Line 129:102
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/webhooks/responses/`, expected final URL `https://developer.adobe.com/commerce/extensibility/webhooks/responses`
    Rule: no-dead-urls

───────────────────────────────────────────────────────────────
📄 FILE: src/pages/webhooks/tutorial/index.md
───────────────────────────────────────────────────────────────
  ⚠️  WARNING
    Location: Line 99:85
    Message: Unexpected dead URL `https://developer.adobe.com/commerce/extensibility/events/project-setup/#download-the-workspace-configuration-file`, expected live URL
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 99:85
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/events/project-setup/#download-the-workspace-configuration-file`, expected final URL `https://developer.adobe.com/commerce/extensibility/events/project-setup`
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 55:31
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/events/project-setup/`, expected final URL `https://developer.adobe.com/commerce/extensibility/events/project-setup`
    Rule: no-dead-urls

  ⚠️  WARNING
    Location: Line 73:53
    Message: Unexpected redirecting URL `https://developer.adobe.com/commerce/extensibility/events/project-setup/`, expected final URL `https://developer.adobe.com/commerce/extensibility/events/project-setup`
    Rule: no-dead-urls


═══════════════════════════════════════════════════════════════
                        SUMMARY
═══════════════════════════════════════════════════════════════

  📁 Files processed:    211
  📄 Files with issues:  10
  ❌ Total errors:       0
  ⚠️  Total warnings:     33
  📋 Total issues:       33

Result: ⚠️  PASSED WITH WARNINGS - No fatal errors

═══════════════════════════════════════════════════════════════

This comment was automatically generated by the linter bot.

@danidelcar
danidelcar merged commit 6a85b1b into main May 22, 2026
7 checks passed
@danidelcar
danidelcar deleted the del-update-april branch May 22, 2026 07:14
@github-project-automation github-project-automation Bot moved this from 👍 Approved to 🏁 Done in Commerce - Pull Requests May 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

major-update Significant original updates to existing content

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

5 participants