You will see on the community that people have lost the content of their dictionary after *Update From Other Source…
When you build the app it has no entries. And if you look at the Languages > xxx > Characters you see there are none.
How to fix this without starting a new project.
You need to do the following.
- Shut down DAB
- Edit the .appdef file for the project.
- Copy the new file into the project.
Editing the .appdef file.
I have found that the file in the lexicon-db does not match the name of the file in the following line. Like shown below. This must be fixed. by directly editing the .appdef file.
Then update the path if it needs updating to a new path in the three places, in the source and in the stylesheet.
<lexicon-db type="flex-xhtml">new-dict.xhtml</lexicon-db>
<source>C:\Dictionary\xxx-eng\xxx-eng-dict.xhtml</source>
<stylesheets>
<stylesheet checksum="C5B3A40092A9CBB797BDFF3697BB3662">C:\Dictionary\xxx-eng\xxx-eng-dict.css</stylesheet>
<stylesheet checksum="13926E487FD3D280E580F3B1BD77A4A0">C:\Dictionary\xxx-eng\ProjectDictionaryOverrides.css</stylesheet>
</stylesheets>
Update the files in the Project.
I have found the new file is missing from the lexicon folder in the project.
Copy the new file into the lexicon folder in your project.
- Restart DAB.
- Check that Languages > xxx > Characters has a list of characters.
- Build your app and all your entries should be back.
So it seems the Update From Other Source button at times fails to update the .appdef file and also fails to import the updated file into the project’s lexicon folder.
If you are worried about damaging your project then make a copy of your project and do the above on that copy.
If the css does not update then delete the checksum attribute then press Update From Source…
So happy to have found a workaround for this long standing problem.