I've used Domain Access for years, and repeatedly suffered the horror of having the settings of many domains overwritten by the values of the default domain. AFAIK this is not the fault of Domain Access, since the horrific changes are done by some other module or action. The intention is never to trash DA's settings -- no clue it might be the outcome -- but it happens far too easily (dozens of times to me over the years).

Even if DA can't prevent this, perhaps it can be evolved to make restoration of trashed settings much easier. (Lacking this, I sometimes get lucky and my browser remembers the prior field values, or I have to open a SQL backup of DA tables and figure out what was what.)

What if DA's key fields were in PAIRS -- the live action field, and a PDAV field (prior Domain Access value) field holding the "last value set by DA"? (In the same table as now, just two fields where there's now one, such as sitename and sitename-prior.)

When changes are made via DA, it gives both fields the same values. Therefore, the only time the two fields would not be identical is if the primary field got changed by some other action. (Nothing but DA would touch the uniquely-named PDAV field.)

On the appropriate forms, DA would show the PDAV (read-only) below the live field, as a quick reference and for easy copying to restore the prior value. Or maybe DA could have a button to instantly restore the PDAV to the main field.

Or for max coolness, DA could monitor both fields and notify the admin anytime they no longer are identical.

Just a (sanity-saving) thought...

Comments

I wonder if the Domain Variable module helps with this? It's an experiment to better support i18n / DA.

You can also now export Domain Conf settings to code using Features, which might be the best solution.