Hi Susie,
There are some aspects of “updating” a database in DAB from a new version of the LIFT file that don’t work quite right. My guess is that the list of variants is populated by the loading of the first LIFT file, and now that some of those variant names have changed in FLEx (and in the new LIFT file), they aren’t reloaded by DAB. Can you confirm that the variants whose names have not changed do still show up in the app?
Th easiest way to fix this problem would be to create a new app in DAB with the updated LIFT file. I say “easiest”, but depending on how much time you’ve invested in making the app, that might be quite painful! You could at least give it a try, making a plain vanilla app (not putting all the bells and whistles into the app), to make sure that it resolves the problem. If there aren’t a lot of bells and whistles in your app, this might be the best solution.
If you have invested a lot of time in making the app, and it would be painful to reproduce all of those features, then it might be possible to manually update the variant names to match the new data. For each app, there is an .appDef file, an XML file that describes all of the details of the configuration of the app. It is found in
Documents\App Builder\Dictionary Apps\App Projects\[app name]\[app name].appDef
It is possible, if you are careful, to make changes manually in this .appDef file with a text editor (like NotePad) to fix certain things that are problematic about your app, or to get around bugs (like this one!) in the App Builder program. But you can also really mess up your app! So make a backup copy of the .appDef file (or better yet the entire app folder) before you make any changes manually to the .appDef file. Also, only make changes to the .appDef file when the DAB program is closed.
The different variants are defined in a section of the .appDef file that looks like this:
So after opening the .appDef file in your text editor, you can search for “variant”, and find the place where the variants are defined. You could manually update the different variant types in that section. If you took my advice above and created the plain vanilla version of the app (that has working variants), you might be able to copy the entire <fields>
section of that test .appDef file and replace the <fields>
section of your real .appDef file (after you’ve made a backup copy!), save that, then open DAB and try to build again… and that might just solve the problem.
If it doesn’t, then restore the .appDef file in your real app and build it again, to make sure you didn’t mess anything up. Then send me (here or in a personal message) the .appDef files for your test app where the variants work and for your real app, and I will see if I can produce a combination of the two that works for you.
Jeff