Skip to content

Notifications: add new project/build/organization specific notifications #164

@agjohnson

Description

@agjohnson

We talked about default Django messages (temporary notifications) in #163.

Another topic we had from the offsite was how to treat notifications against build/project/organization state. For example, the exact issue that spawned the conversation was a user support request about a subscription that had ended. This users was just reading a stale notification about subscription renewal though, which is a common problem we've noticed.

The main problem we have with a few of our notifications are that we are not retracting the notification once the underlying condition/state is resolved. We discussed how to do this with Django messages and agreed it would be too hacky.

We also have had a few discussions about build detail page notifications and warnings, and we want the ability to output multiple message types on the build detail page -- info, warning, and error -- as well as the ability to show the user multiple messages on the build detail page.

Where we landed with our discussion on these notifications was:

  • We want a JSON field on Build, Project, and Organization, which would be a list of notifications
  • This data structure would:
    • Have an id or some easy way to lookup/override a particular message (that is, revoke a warning about subscription failure if the subscription state changes to active)
    • Probably reference a class/constant for the actual error message. This object would define metadata like:
      • Subject line (for nicer display but not required)
      • Translate string template (“Your project %s has no config file”)
      • Icon (?)

These messages would replace Django sticky/persistent messages, though we may still decide to use sticky/persistent messages for the top header bell/notification menu.

It would make sense to start with the Build and build detail page first, as this is where we've wanted this the longest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    FeatureNew featureImprovementMinor improvement to code

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions