đź“–
Eclipse PASS Documentation
PASS Documentation - DEV
PASS Documentation - DEV
  • Welcome to the Public Access Submission System (PASS) Documentation
  • PASS Welcome Guide
    • Research Submission Overview
    • PASS at JHU
    • PASS Demonstrations at Conferences
    • Technology Stack
    • PASS Architecture
    • Latest Release
    • Setup and Run PASS Locally
    • Collaboration with Other Institutions
    • Contributing to PASS
  • Community
    • Developer Guidelines
    • PASS Roadmap
    • Release Notes
  • Developer Documentation
    • Use Cases
    • PASS Core
      • Authentication & Authorization
      • API
        • DOI API
        • File API
        • Metadata Schema API
        • Policy API
        • User API
      • Model
        • Deposit
        • File
        • Funder
        • Grant
        • Journal
        • Policy
        • Publication
        • Repository
        • RepositoryCopy
        • Submission
        • SubmissionEvent
        • User
    • PASS UI
    • Data Loaders
      • Grant Loader
      • Journal Loader
      • NIHMS Loader
    • Deposit Services
      • Knowledge Needed / Skills Inventory
      • Technologies Utilized
      • Model
      • Statuses
      • Business Logic
      • Assemblers
      • Configuration
      • Next Steps / Institution Configuration
    • Notification Services
      • Knowledge Needed / Skills Inventory
      • Technologies Utilized
      • Model
      • Business Logic
      • Template
      • Dispatch
      • Configuration
      • Next Steps / Institution Configuration
    • PASS Acceptance Testing
    • PASS Docker
      • Testing InvenioRDM
    • Release
      • Automated Release
  • PASS Infrastructure
    • CI/CD
    • Code Quality Analysis
      • Code Coverage
    • Deployment
      • GitHub CI/CD
    • Operations/Production
      • Knowledge Needed / Skills Inventory
      • Technologies Utilized
      • PASS Design & AWS Architecture
      • AWS Cost Estimates
      • PASS Versioning
      • How to Deploy
      • Monitoring
      • Data Loaders
      • Data & Backups
      • Eclipse Operations
      • Next Steps / Institution Configuration
Powered by GitBook
On this page
  • Prerequisites
  • Setup a Simple Configuration
  • Run Notification Services in Docker or JAR
  • Supporting Other Types of Queue Services
  1. Developer Documentation
  2. Notification Services

Next Steps / Institution Configuration

PreviousConfigurationNextPASS Acceptance Testing

Last updated 6 months ago

This section describes the configuration and setting up the Notification Services for a new institution. The configuration process involves defining institution-specific settings, managing templates, and integrating with an email system. Please note that the examples provided are for demonstration purposes and may require adjustments based on your institution’s environment and external services setup.

Prerequisites

  • Email Service Configuration: Gather your institution's email service settings (e.g., SMTP host, port, authentication details) and ensure the email service is fully operational and ready for integration with Notification Services.

  • Familiarity with Notification Services: Review the

  • AWS SQS Queue: Notification Services require an SQS queue for message handling. For testing purposes, you can use to simulate AWS services in a local environment.

Setup a Simple Configuration

This is a simplified version of the configuration. See the and for a more in-depth explanation of configuring NS. Be sure to replace email addresses with those from your institution. Save this JSON file to a location that can be referenced by a Docker container or a running JAR file.

{
  "recipient-config": [
    {
      "mode": "DEMO",
      "fromAddress": "no-reply@institution.edu",
      "global_cc": ["support@institution.edu"],
      "global_bcc": ["admin@institution.edu"]
    }
  ],
  "templates": [
    {
      "notification": "SUBMISSION_APPROVAL_INVITE",
      "templates": {
        "SUBJECT": "Approval Invite Subject",
        "BODY": "Approval Invite Body",
        "FOOTER": "classpath:/templates/footer.hbr"
      }
    },
    {
      "notification": "SUBMISSION_APPROVAL_REQUESTED",
      "templates": {
        "SUBJECT": "Approval Requested Subject",
        "BODY": "Approval Requested Body",
        "FOOTER": "classpath:/templates/footer.hbr"
      }
    }
  ]
}

Run Notification Services in Docker or JAR

The easiest way to get notification up and running is to get the latest NS image from our GitHub Container Registry.

Run the command below and be sure to replace 1.9.0 with the version you wish to run:

docker run --env=PASS_NOTIFICATION_CONFIGURATION=file:/ns-config/ns-config-json.json --env=AWS_REGION=us-east-1
--env=AWS_ACCESS_KEY_ID={YOUR_ID}
--env=AWS_SECRET_ACCESS_KEY={YOUR_KEY}
--volume=/path-to-ns-config-file
--workdir=/app 
--runtime=runc -d ghcr.io/eclipse-pass/pass-notification-service:1.9.0

NOTE: The AWS ID and key should only be used for testing and in production this should be managed through IAM roles.

java -Dpass.notification.configuration=file:/ns-config/ns-config-json.json -Daws.region=us-east-1 -Daws.accessKeyId={YOUR_ID} -Daws.secretKey={YOUR_KEY} -jar pass-notification-service-exec.jar

Supporting Other Types of Queue Services

The docker env variable PASS_NOTIFICATION_CONFIGURATION points to the volume mounted /path-to-ns-config-file, which contains the JSON configuration. The AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY are your AWS access ID and key. There are other environment variables to initialize that are found on the

You can also download the and build the NS module to get the NS JAR file that can be invoked by running:

The arguments pass.notification.configuration, aws.region=us-east-1, aws.accessKeyId, and aws.secretKey are the minimum set to run the JAR; however, a fully functional NS will depend on the fulfillment of the .

The default queue service is . NS can be extended to support other types of queues, but would require further development. Modifying the JMSConfig to support other JMS providers will enable support for another type of queue service.

Notification Services Knowledge Needed
LocalStack
configuration page
template page
Pass Support source code
AWS SQS
prerequisites
configuration page