.App Auto-Save and Recovery

We’ve implemented a new feature for 7.1 .that allows for auto-save of an .App and recovery from a crashed system.
The way it works is like this:

  • explicitly saved changes are written to both the in-memory database and to the new recovery file
  • upon saving an .App the recovery file is emptied (truncating it’s size to 0)
  • when an APP is closed the recovery file is deleted
  • if the recovery file’s size exceeds the limit (as set in Application Options), then AppGen auto-saves the APP file to disk
  • if AppGen finds a recovery file when opening an .App, and the recovery file is older then the .App file, and its size is > 0, the user is queried to recover the .App or to open the last saved .App.

Here’s the new application option:
appautosave

In all cases a backup of the .App is made when its first opened (.Bpp extension)

7 Responses to “.App Auto-Save and Recovery”

  1. Jack Harris Says:

    Its about time, but I have to say its much better then we had before, AUTOSAVE is AWESOME!!

  2. Robert Says:

    Just like C6 - Thank you VERY MUCH!

    Exactly what we needed.

  3. Don G. Says:

    SV: Thanks for all of your efforts and patience for making C7 a better product, this is something that’s been needed for awhile.

  4. Stamos Says:

    Autosave is excellent, but in the spirit of belt and braces, could we also have a check box that will add the save to text feature at the same time.
    I mention this because now and again when things go wrong the app and backup both get corrupted and the work is lost.

  5. rzaunere Says:

    So would you want the save to the TXA to be triggered by the same setting as for the Autosave?

  6. Stamos Says:

    Yes, .txa only when doing the autosave and creating the .bpp
    I suggested a checkbox as a choice only in case saving a large .app to .txa really slows things down objectionably.
    With a .txa
    1. work can be recovered when the .app and .bpp are corrupted
    2. Importing procedure by procedure self checks at the procedure level
    3. Re-creating the .app by importing the .txa probably optimizes the .app file and almost certainly reduces it in size by a large amount. Maybe increasing the speed of opening the .app and reducing needed resources? Like packing and re-keying a database. Certainly makes it more robust.
    4. You can ‘get at’ the .txa , see what’s going on and make manual corrections and patches.

    Frankly I think that the .txa is what the .bpp should have been.

    ( Why not do it with the dictionary too, every time it produces a backup)

  7. Stamos Says:

    Come to think of it, why not just throw away the whole .bpp and replace it with a .txa instead? import the .txa and then use the recovery on it. Recover and tune the .app in one!