Skip to content

Add a reusable content library with clause locking #37

@jusso-dev

Description

@jusso-dev

Context

ScopeStack has templates and default sections, but it does not yet have a reusable content library. PandaDoc-style proposal tools rely heavily on approved content blocks, reusable clauses, service descriptions, and locked content.

Goal

Add a content library for reusable, approved document blocks that can be inserted into templates/documents and optionally locked.

Scope

  • Create content library items with title, category, body/content, tags, and status.
  • Support categories such as:
    • Legal clauses
    • Scope blocks
    • Assumptions
    • Case studies
    • Service descriptions
    • Terms/disclaimers
  • Allow inserting content blocks into templates/documents.
  • Allow content locking so users can include but not edit approved legal/commercial blocks.
  • Track source library item and version used in a template/document.
  • Add search/filter UI for library items.

UX Notes

  • Library should feel like an operational knowledge base, not a marketing page.
  • In template editor, provide an "Insert from library" action near section editing.
  • Locked blocks should be visibly locked with concise affordance and reason.

Data/Architecture Notes

Potential models:

  • ContentLibraryItem
    • organisationId
    • title
    • category
    • content
    • tags
    • status draft/published/archived
    • lockedByDefault
  • ContentLibraryVersion if versioning is needed.
  • Template/document sections may store sourceContentItemId and locked.

Acceptance Criteria

  • Users can create, edit, publish, archive content library items.
  • Users can search/filter library items.
  • Users can insert library content into a template/document.
  • Locked content cannot be edited in document/template editors by normal users.
  • Inserted content records its source item/version.
  • Audit logs record library changes and insertions.

Dependencies

  • None hard, but template editor UX will need careful integration.

Priority

P1. High leverage for template consistency and team adoption.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions