Skip to content

M1 SDK and core engine #2708

Open
Open

Description

@pournasserian

Tracking issue for milestone M1 of the backend plan. Goal: a host can define types in C#, store and query entries in-process with permissions, versions, publishing, scheduling, events and jobs on all three providers. No HTTP yet.

Exit criteria: the sample Blog types round-trip through IContentService<T> in the test host; the storage spike decision is recorded as an ADR; migrations generate for all providers.

Suggested order: B-10 spike first, then B-11 and B-12 in parallel, then the storage items (B-17 to B-19), then the content, publishing and authorization items; B-34 and B-35 as soon as B-22 exists.

Design: docs/planning/backend-technical-spec.md, sections 4 and 8.

Issues

Scope change (1 Nov 2026)

The exit criteria apply to SQLite; PostgreSQL and SQL Server validation is deferred to #2711.

Activity

  1. pournasserian commented on Nov 3, 2026

    @pournasserian
    MemberAuthor

    For the M2 HTTP issues (from #2756): publish responses carry warnings[] from PublishResult, and FCMS2402 maps to FCMS2404 as 422.

  2. pournasserian commented on Nov 3, 2026

    @pournasserian
    MemberAuthor

    For the M2 Management activity endpoint (from #2759): IActivityQuery checks no permission. The endpoint must check activity.read for the site, and an instance-level permission before it sets ActivityFilter.IncludeInstance.

  3. pournasserian commented on Nov 4, 2026

    @pournasserian
    MemberAuthor

    For the M2 Management content endpoints (from #2763 and #2764): BulkAsync returns per-item results with a generic problem for unexpected failures; map each status, not the whole call. Schedules: FCMS2407 (time not in the future), FCMS2408 (skipped wall-clock time), FCMS2409 (draft changed since scheduling) need status codes; roles for a scheduled job come from the claims kept at scheduling until M2 reads cms_user_role, and a revoked API key is only caught once it does.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    type:epicMilestone-level feature, sliced into issues

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions