feat: add selective vCard batch workflows
This commit is contained in:
@@ -460,6 +460,31 @@ manifest = ModuleManifest(
|
||||
related_modules=("connectors", "datasources", "dataflow", "files", "audit"),
|
||||
order=33,
|
||||
),
|
||||
DocumentationTopic(
|
||||
id="addresses.vcard-batches",
|
||||
title="Selective vCard batch import and export",
|
||||
summary="Preview multiple vCard files, choose each card's effect, and export deterministic scoped files.",
|
||||
body=(
|
||||
"One or more UTF-8 .vcf files are parsed into a persisted, non-mutating preview with bounded diagnostics, "
|
||||
"duplicate suggestions, an input hash, a parser version, and a deterministic plan hash. Operators choose "
|
||||
"create, update, or ignore only where the reviewed plan permits it. Apply rejects stale contact targets and "
|
||||
"is idempotent for the same selection; a different retry is rejected. Pending runs can be reloaded or cancelled "
|
||||
"without changing contacts. Upload size, file count, card count, line count, and unfolded-line length are bounded. "
|
||||
"Exports can target a complete address book, one address list, or explicit contacts; vCard 3.0 or 4.0 is selected "
|
||||
"explicitly and contacts use deterministic display-name and stable-ID ordering. Export and import evidence records "
|
||||
"hashes and counts, while diagnostics never disclose raw contact payloads. Large previews remain persisted and expose "
|
||||
"their batch execution mode so a runtime job capability can execute them asynchronously when available."
|
||||
),
|
||||
layer="configured",
|
||||
documentation_types=("admin", "user"),
|
||||
audience=("tenant_admin", "operator", "module_admin", "power_user"),
|
||||
related_modules=("files", "audit", "connectors"),
|
||||
order=34,
|
||||
metadata={
|
||||
"seed": True,
|
||||
"help_contexts": ["addresses.action.import", "addresses.contacts", "addresses.sources"],
|
||||
},
|
||||
),
|
||||
DocumentationTopic(
|
||||
id="addresses.ldap-directory",
|
||||
title="LDAP and Active Directory address sources",
|
||||
@@ -475,7 +500,7 @@ manifest = ModuleManifest(
|
||||
documentation_types=("admin", "user"),
|
||||
audience=("tenant_admin", "operator", "module_admin"),
|
||||
related_modules=("connectors", "idm", "access", "policy", "audit"),
|
||||
order=34,
|
||||
order=35,
|
||||
),
|
||||
DocumentationTopic(
|
||||
id="addresses.quality-and-merge",
|
||||
@@ -513,7 +538,7 @@ manifest = ModuleManifest(
|
||||
documentation_types=("admin", "user"),
|
||||
audience=("tenant_admin", "operator", "module_admin", "power_user"),
|
||||
related_modules=("dist_lists", "connectors", "datasources", "campaigns", "policy", "audit"),
|
||||
order=35,
|
||||
order=36,
|
||||
metadata={
|
||||
"seed": True,
|
||||
"help_contexts": [
|
||||
|
||||
Reference in New Issue
Block a user