Overview

We validated the ability to extend Drupal Canvas with the canvas_test_extension module, but this was achieved with proof of concept in mind and not necessarily how we intend to make these capabilities available long-term.

We should probably figure out what functionality should be offered, how to implement it, how to ensure it remains stable + provide good docs so the community can take advantage of these capabilities.

Proposed resolution

In #3550161: Extension plugins, UI, and initial browser APIs we implemented the infra and updated the test extension for how this will work.
This issue is for writing an ADR documenting those changes.

User interface changes

None.

Issue fork canvas-3514033

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

bnjmnm created an issue. See original summary.

wim leers’s picture

Title: Formalize Extension API » Formalize Extensions API
Issue tags: +stable blocker
effulgentsia’s picture

Issue tags: -stable blocker

Untagging "stable blocker", because XB 1.0.0 does not require a public extensions API. That can come in future minor 1.x releases. The goal of XB 1.0.0 is to get it into people's hands for building and deploying real websites with it, and they don't need to extend the XB UI to do that.

Project: Experience Builder » Drupal Canvas
Version: 0.x-dev » 1.x-dev

Experience Builder has been renamed to Drupal Canvas in preparation for its beta release. You can now track issues on the new project page.

balintbrews changed the visibility of the branch 3514033-adr--extensions-api to hidden.

balintbrews changed the visibility of the branch 3514033-adr--extensions-api to hidden.

balintbrews changed the visibility of the branch 3514033-adr--extensions-api to hidden.

balintbrews changed the visibility of the branch 3514033-adr--extensions-api to hidden.

balintbrews changed the visibility of the branch 3514033-adr--extensions-api to active.

balintbrews’s picture

Title: Formalize Extensions API » Document high-level architecture decisions for extensions API
Status: Active » Needs review
balintbrews’s picture

The plan I outlined in the ADR was already approved by @lauriii. He and I worked together on the metadata schema, so that's also validated from a product standpoint.

tim.plunkett’s picture

Component: Extensions API » Extensions

Fixing component

balintbrews’s picture

The initial implementation landed in #3550161: Extension plugins, UI, and initial browser APIs.

wim leers’s picture

Assigned: Unassigned » penyaskito

This MR is now 92 days old. Let's get reviews going. Starting with @penyaskito, then @lauriii 🙏

penyaskito made their first commit to this issue’s fork.

penyaskito’s picture

Assigned: penyaskito » lauriii
Issue tags: +ADR

Approved, assigned to @lauriii per #15.

penyaskito’s picture

Issue summary: View changes
lauriii’s picture

Assigned: lauriii » Unassigned
Status: Needs review » Needs work

Left couple comments in the MR. Otherwise this is ready from my perspective.

penyaskito’s picture

Assigned: Unassigned » lauriii
Status: Needs work » Needs review

Answered. I don't think we need to define here how we will use `permissions` (or maybe change that to `scopes`) aside of the yml spec.
We will know more when we add any useful APIs that extensions can use, and we can update this accordingly.

lauriii’s picture

Assigned: lauriii » Unassigned
Status: Needs review » Reviewed & tested by the community

penyaskito’s picture

Status: Reviewed & tested by the community » Fixed

Thanks!

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

wim leers’s picture

Status: Closed (fixed) » Needs work

This MR caused the following:

0007-drupal-canvas-no-external-bundling.md
0008-astro-hydration-bundled-dependencies-as-external.md
007-extensions-api-architecture.md

👻

0007 landed Jan 12, 0008 Jan 13, this one (007) Mar 19.

→ Let's rename this to 0009.

Noticed while working on a new ADR.

wim leers’s picture

Status: Needs work » Reviewed & tested by the community

MR up.

  • wim leers committed 4a184344 on 1.x
    fix: #3514033: Extensions API ADR should've been #0009, not #007
    
    By:...
wim leers’s picture

Status: Reviewed & tested by the community » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.