Letting a module require configuration at first-time setup (for Atlas)

I went ahead and implemented this idea. I called it “Administrative Notification”, but I’m happy to rename it if someone has a better one.


The code

Framework: a module that wants to notify the admin creates AdministrativeNotification and they do this via an AdministrativeNotificationProducer. The coreapps module provides a fragment to display these, and the referenceapplication module shows it on the home page.

Usage: a module does something like ConfigureAtlasNotificationProducer.

A side effect is that the Atlas module now requires the App Framework module, which is a problem for the legacy UI. The alternative would be to have the Reference Application module be responsible for generating the notification instead of the Atlas module. I think that might even be a better approach. @burke, let’s figure out which approach to take. (I’ll comment on RA-281 as a reminder.)


What it looks like:

Clicking the link takes you to the Configure Atlas screen, which also lets you “Stop reminding me”:

To get the notification to stop appearing the admin either needs to turn on the automatic updates, or else click on the “Stop reminding me” link. (It’s not enough to place your pin, you actually have to turn on automatic updates. That wasn’t my intent, but see this post.)