I don’t understand the sequence you are describing.
Why did you take the database offline? In Panorama X, that is basically never necessary.
To add new fields, you do a critical new generation. That automatically takes the database offline. Once you’ve added the fields you upload the new generation, which automatically brings the database back online again.
Maybe when you say “took database offline” you actually mean “started a critical new generation”? Sorry if this sounds pedantic, but there is an action of taking a database offline, so I don’t really know which you are referring to.
You can add new forms at any time. When you’re done, you can either do a non-critical new generation or you can simply upload the forms one-by-one (however, you should do a new generation if you want them to automatically download to other users).
there was a short power outage that caused the server to reboot.
I would think that any server restart is a scenario the program needs to handle.
I think a server reboot in the middle of a new generation would absolutely cause a problem, and I think this is unlikely to be something that could be made to work correctly. If the server software shuts down in an uncontrolled way, all bets are off.
Once the server restarts, the client connection to the server is no longer valid. What might work would be to use the Check Server Connection command after the server has restarted. I suspect this won’t work if the disruption happened in the middle of a new sharing generation, but it would be worth a try.
I suspect that is the only way to recover after this sort of disruption.
When I add fields to a shared database, I carefully plan what fields are needed in advance. Then I start the new generation, quickly add the new fields, then immediately upload the new generation. I only add the fields in this critical new generation – any other work like new code, formulas etc. in a separate non-critical new generation later. I do it this way to minimize the downtime when the database is unavailable, not because I am worried about the server restarting. Even with a large database I can usually add fields in less than a minute. But now I can see that the possibility of a connection disruption is another reason to do it this way.