Skip to main content

Publication Streams

SECTION 9A — PUBLICATION STREAMS (MULTI-STREAM DOCUMENT ARCHITECTURE)

9A.1 Overview

An Organisation can operate multiple independent publication streams, each representing a distinct editorial pipeline with its own set of document types. This enables a single Organisation to manage parallel content verticals (e.g. “Current Affairs” and “Science Outlook”) under one tenant, each with independent aggregation schedules, custom naming, and separate billing tracking. Every Organisation must have at least one publication. The system creates a default publication named CURRENT-AFFAIRS on Organisation creation.

9A.2 Default Publication

The default publication uses the standard trigger schedules defined in Sections 9.2, 9.3, 9.3A, 9.3B, and 9.3C.

9A.3 Custom Publications

Who Can Create

  • Teacher (Organisation Owner): Can create additional publications from Organisation Settings → Publication Management → “Create New Publication.”
  • Editor: Can request creation of a new publication on behalf of the Teacher. This request requires explicit approval from the Teacher, who in turn requires approval from the Super Admin. Once approved, access is passed down the chain: Super Admin → Teacher → Editor. Both Teacher and Editor can then manage the publication’s document types and configuration.
  • Sub-member: View-only access to publication settings. Cannot create or configure publications.

Publication Approval Flow

If the Teacher creates the publication directly:

Custom Publication Properties

9A.4 Custom Document Types Within a Publication

Atomic Document Types (Mandatory — at least one)

  • The fundamental single-date unit of content. Equivalent to “Newsletter” in the default publication.
  • Used as the building block for all aggregated document types in the same publication.
  • Each atomic document type gets a custom name that must be unique across all publications within the same Organisation (cross-publication uniqueness enforced).
  • Example: A publication SCIENCE-OUTLOOK could have an atomic type DAILY-SCIENCE-BRIEF.

Aggregated Document Types (Optional)

Custom aggregated documents can be configured with:

Naming Uniqueness Constraint

Document type names must be unique across ALL publications within the same Organisation. This prevents ambiguity in billing, Kanban boards, and document references.
  • Valid: CURRENT-AFFAIRS has NEWSLETTER; SCIENCE-OUTLOOK has NEWSLETTER-SCIENCE
  • Invalid: CURRENT-AFFAIRS has NEWSLETTER; SCIENCE-OUTLOOK also has NEWSLETTERREJECTED — duplicate name
The backend must enforce this at the database level with a unique constraint on (org_id, document_type_name) across all publications.

9A.5 Mindmap Restrictions for Publications

  • Mindmaps can only be generated from atomic (single-date) document types.
  • Aggregated documents (Compilations, Magazines, Quarterly Collections, etc.) are never sent to the Mindmap pipeline.
  • This applies to both default and custom publications.
  • The Editor selects a specific single-date document from any publication and initiates the Mindmap pipeline from that document.

9A.6 Publication Management Access Matrix

9A.7 Duplicate Document Prevention

The application must enforce strict duplicate document prevention at both backend and UI levels.

Backend Logic

Before allowing document creation, the backend validates:
  1. Same publication + same document type + same dateREJECT. A document of the same type for the same date under the same publication already exists.
  2. Same document type name across publications → Already prevented by the naming uniqueness constraint (Section 9A.4).

Duplicate Prevention Flow

UI Indicators

  • When the user selects a date in the document creation flow, the system performs a real-time check and renders availability:
    • Green indicator: “No existing document — ready to create”
    • Red indicator: “Document already exists — [View Existing]”
  • The calendar date picker should visually mark dates that already have documents for the selected publication + document type (e.g. dot indicator on occupied dates).

Version Control Alternative

When a duplicate is detected, the user is directed to the existing document where they can:
  • View the current version
  • Create a new version (Section 24.4 — Named Version system applies)
  • Documents support full version history with semantic versioning (1.0.0, 1.1.0, etc.)

9A.8 Impact on Entry Point Cards

Teacher Dashboard Cards (Section 8.1.1)

When multiple publications exist, the Teacher’s Entry Point Cards are grouped by publication:
  • A publication selector/tab appears above the cards
  • Selecting a publication shows the cards for that publication’s document types
  • The default view shows cards for CURRENT-AFFAIRS (default publication)
  • Custom publications show cards matching their configured document types

Editor Dashboard Cards (Section 8.2.0)

The Editor’s Entry Point Cards show aggregate counts across all publications and all assigned orgs:
  • Each standard card (Newsletter, Compilation, etc.) aggregates counts across all publications and all assigned orgs
  • A publication filter dropdown allows filtering to a specific publication
  • The Mindmap card remains Editor-exclusive and aggregates across all publications

9A.9 Impact on Billing

  • All document types across all publications are billable following the same rules as Section 23.
  • The invoice groups documents by publication, then by document type within each publication.
  • The is_billable flag applies per-document regardless of which publication it belongs to.
  • The retrospective document logic (Section 23.3A) applies identically across all publications.

9A.10 Impact on Google Drive Folder Structure

Publications extend the Google Drive folder structure (Section 25.2):