Skip to content

Feature Request: Newsroom Mirroring for Broadcast Notifications #3

@LexioJ

Description

@LexioJ

Feature Request: Newsroom Mirroring (Phase 3)

Description

Implement an opt-in feature to mirror iTop newsroom notifications to Nextcloud, allowing administrators to broadcast announcements and important messages to users.

Motivation

  • Broadcast important ITSM announcements to all users
  • Centralize notifications in Nextcloud alongside ticket notifications
  • Provide opt-in mechanism to avoid notification fatigue
  • Bidirectional mark-as-read sync with iTop

Proposed Implementation

Components

  1. NewsroomPollJob - Background job to poll iTop EventNotificationNewsroom
  2. NewsroomService - Service layer for fetching and caching newsroom items
  3. NewsroomController - Controller for mark-as-read sync back to iTop
  4. Personal Setting - notify_newsroom_enabled (opt-in, default: disabled)
  5. Notifier - newsroom_item case for rendering broadcast messages

Features

  • Poll EventNotificationNewsroom class via iTop REST API
  • Track last processed newsroom ID per user
  • Support opt-in/opt-out in personal settings
  • Admin can globally disable feature
  • Mark-as-read bidirectional sync
  • Independent from ticket notifications (separate background job)

Configuration

  • Admin setting: newsroom_enabled (global enable/disable)
  • User setting: notify_newsroom_enabled (opt-in per user)
  • Polling interval: 15 minutes (configurable)

Acceptance Criteria

  • Users who opt-in receive iTop newsroom notifications
  • Mark-as-read in Nextcloud syncs to iTop
  • Independent from ticket notifications (separate job)
  • Admin can disable globally (hidden from users)
  • No spam (respectful polling intervals)
  • Translations for all newsroom strings (EN, DE, FR)

Technical Details

  • Background job runs every 15 minutes (separate from ticket notifications)
  • Tracks last_newsroom_id per user to avoid duplicates
  • Query: SELECT EventNotificationNewsroom WHERE id > :last_id
  • Notification object type: itop_newsroom
  • Cache TTL: 5 minutes for newsroom items

Estimated Effort

6-8 hours

Priority

Medium - Enhancement for v1.4.0 or later

Related Documentation

  • docs/PLAN_NOTIFICATIONS.md - Phase 3 specification
  • To be created: docs/PLAN_NEWSROOM_MIRRORING.md - Detailed implementation plan

Dependencies

  • Requires iTop with EventNotificationNewsroom class
  • Builds on existing notification infrastructure (v1.3.0)

Note: This is a nice-to-have enhancement, not blocking any current functionality.

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