Migrate Calendar interface patterns
This commit is contained in:
@@ -545,7 +545,23 @@ manifest = ModuleManifest(
|
||||
documentation_types=("user",),
|
||||
audience=("user", "calendar_manager"),
|
||||
related_modules=("scheduling", "notifications"),
|
||||
metadata={"kind": "reference"},
|
||||
metadata={
|
||||
"kind": "reference",
|
||||
"help_contexts": [
|
||||
"calendar.page",
|
||||
"calendar.page.sidebar",
|
||||
"calendar.page.agenda",
|
||||
"calendar.page.workspace",
|
||||
"calendar.event-editor",
|
||||
"calendar.settings.preferences",
|
||||
"calendar.widget.upcoming",
|
||||
"calendar.state.read-only",
|
||||
],
|
||||
"consequence_classes": {
|
||||
"save_event": "create or update the authoritative event and queue synchronized writes when required",
|
||||
"delete_event": "delete the selected occurrence or series and queue synchronized deletion when required",
|
||||
},
|
||||
},
|
||||
),
|
||||
DocumentationTopic(
|
||||
id="calendar.external-sources-and-sync",
|
||||
@@ -555,7 +571,22 @@ manifest = ModuleManifest(
|
||||
documentation_types=("admin", "user"),
|
||||
audience=("user", "calendar_manager", "operator"),
|
||||
related_modules=("connectors", "audit", "ops"),
|
||||
metadata={"kind": "reference"},
|
||||
metadata={
|
||||
"kind": "reference",
|
||||
"help_contexts": [
|
||||
"calendar.collection-editor",
|
||||
"calendar.sync-status",
|
||||
"calendar.migration",
|
||||
"calendar.state.source-admin-required",
|
||||
],
|
||||
"consequence_classes": {
|
||||
"change_collection": "change calendar identity, source configuration, credentials, and synchronization policy",
|
||||
"delete_or_remove_collection": "delete a local calendar or remove an external source after explicit event handling",
|
||||
"synchronize_source": "read and, where configured, write remote state using bounded synchronization evidence",
|
||||
"force_full_sync": "re-read the complete remote source and reconcile it against local state",
|
||||
"execute_remote_move": "copy all destination resources before conditionally deleting source resources",
|
||||
},
|
||||
},
|
||||
),
|
||||
DocumentationTopic(
|
||||
id="calendar.campaign-invitations-and-replies",
|
||||
@@ -593,7 +624,16 @@ manifest = ModuleManifest(
|
||||
documentation_types=("admin", "user"),
|
||||
audience=("calendar_manager", "operator", "tenant_admin"),
|
||||
related_modules=("ops", "audit"),
|
||||
metadata={"kind": "runbook"},
|
||||
metadata={
|
||||
"kind": "runbook",
|
||||
"help_contexts": [
|
||||
"calendar.outbox",
|
||||
"calendar.state.outbox-recovery",
|
||||
],
|
||||
"consequence_classes": {
|
||||
"reconcile_outbox": "compare the latest desired generation with remote state before retry or discard",
|
||||
},
|
||||
},
|
||||
),
|
||||
),
|
||||
capability_factories={
|
||||
@@ -616,6 +656,84 @@ manifest = ModuleManifest(
|
||||
),
|
||||
nav_items=(NavItem(path="/calendar", label="Calendar", icon="calendar", required_any=("calendar:event:read",), order=55),),
|
||||
view_surfaces=(
|
||||
ViewSurface(
|
||||
id="calendar.navigation",
|
||||
module_id="calendar",
|
||||
kind="navigation",
|
||||
label="Calendar navigation",
|
||||
order=10,
|
||||
),
|
||||
ViewSurface(
|
||||
id="calendar.page",
|
||||
module_id="calendar",
|
||||
kind="route",
|
||||
label="Calendar workspace",
|
||||
order=20,
|
||||
),
|
||||
ViewSurface(
|
||||
id="calendar.page.sidebar",
|
||||
module_id="calendar",
|
||||
kind="section",
|
||||
label="Calendar list",
|
||||
parent_id="calendar.page",
|
||||
order=10,
|
||||
),
|
||||
ViewSurface(
|
||||
id="calendar.page.agenda",
|
||||
module_id="calendar",
|
||||
kind="section",
|
||||
label="Calendar agenda",
|
||||
parent_id="calendar.page.sidebar",
|
||||
order=20,
|
||||
),
|
||||
ViewSurface(
|
||||
id="calendar.page.workspace",
|
||||
module_id="calendar",
|
||||
kind="section",
|
||||
label="Calendar view",
|
||||
parent_id="calendar.page",
|
||||
order=30,
|
||||
),
|
||||
ViewSurface(
|
||||
id="calendar.event-editor",
|
||||
module_id="calendar",
|
||||
kind="action",
|
||||
label="Event editor",
|
||||
parent_id="calendar.page",
|
||||
order=40,
|
||||
),
|
||||
ViewSurface(
|
||||
id="calendar.collection-editor",
|
||||
module_id="calendar",
|
||||
kind="action",
|
||||
label="Calendar source editor",
|
||||
parent_id="calendar.page.sidebar",
|
||||
order=50,
|
||||
),
|
||||
ViewSurface(
|
||||
id="calendar.sync-status",
|
||||
module_id="calendar",
|
||||
kind="section",
|
||||
label="Calendar synchronization status",
|
||||
parent_id="calendar.collection-editor",
|
||||
order=60,
|
||||
),
|
||||
ViewSurface(
|
||||
id="calendar.outbox",
|
||||
module_id="calendar",
|
||||
kind="action",
|
||||
label="Outbound calendar changes",
|
||||
parent_id="calendar.sync-status",
|
||||
order=70,
|
||||
),
|
||||
ViewSurface(
|
||||
id="calendar.migration",
|
||||
module_id="calendar",
|
||||
kind="action",
|
||||
label="Remote calendar move",
|
||||
parent_id="calendar.sync-status",
|
||||
order=80,
|
||||
),
|
||||
ViewSurface(
|
||||
id="calendar.widget.upcoming",
|
||||
module_id="calendar",
|
||||
|
||||
Reference in New Issue
Block a user