Skip to content

Publication Activity Newsletter Monthly Digest #1368

Description

@vincentauger

Description

Future enhancement: automated monthly summary of publications per region.

Proposed Solution

  • Users can opt in/out of monthly digest
  • Monthly digest includes titles/DOIs and statuses

Implementation Details

Database Changes

Add to user notification preferences (from issue #4):

NotificationType::MONTHLY_DIGEST = 'monthly_digest';

Or dedicated column:

$table->boolean('receive_monthly_digest')->default(false);

Backend Changes

  • Mailable: Create /app/Mail/MonthlyPublicationDigestMail.php:
    class MonthlyPublicationDigestMail extends Mailable
    {
        public function __construct(
            public User $user,
            public Collection $publications,
            public Carbon $periodStart,
            public Carbon $periodEnd,
        ) {}
    }
  • Command: Create /app/Console/Commands/SendMonthlyDigest.php:
    // Get users who opted in
    // Group publications by region
    // Send personalized digest to each user
  • Schedule: Add to /routes/console.php:
    Schedule::command('digest:monthly')->monthlyOn(1, '08:00');
  • View: Create /resources/views/mail/monthly-digest.blade.php with:
    • Summary stats (total publications, by type)
    • List of publications with DOI links
    • Regional breakdown

Frontend Changes

  • Add opt-in checkbox to user settings
  • Preview of what digest looks like (optional)

Pros

  • Low-effort feature once notification preferences exist
  • High visibility for publication activity
  • Can be extended to weekly/quarterly

Cons

  • Need to design digest format carefully
  • Large regions may have very long digests
  • Timing considerations (first of month may be holiday)

Acceptance Criteria

  • Users can opt in/out
  • Monthly digest includes titles/DOIs and statuses
  • Digest is sent on schedule

Labels

reporting, notifications, nice-to-have

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions