Below are the main phases of importing a database into FLEx. Each section expands to show the steps involved, and the heading links to a page with detailed instructions for each of those steps. Those instructions also include links to the scripts that are needed to perform them, and in some cases sample files.
Here is a Google spreadsheet to guide you as you work through these steps. Make a copy of it on your own Google Drive to use it for a particular project.
Some of the topics covered on this page:
Set up communication methods between import specialist and linguist.
Determine goal of import.
If Webonary, encourage linguist to apply for site and start thinking about front/back matter.
Determine if any aspects of the data are sensitive.
Decide if you will be working in a Windows terminal or a Linux terminal.
Set up your working directory.
Set up log files to record steps performed and notes for the linguist.
Some of the topics covered on this page:
Preliminary text cleanup (unwrap lines, check line endings, )
Assess Writing Systems and Unicode needs
Catalog markers
Determine what custom fields are needed
Assess fixed fields, list content, custom fields
Analyze inline formatting
Overview of the steps that are explained in the linked page:
A. Establish a convention for making notes to the linguist
Create a new marker for recording notes to the linguist in the database.
B. Use Solid to assess the integrity of the hierarchy
Sense vs. entry level info
Subsenses
Try to get a clean report from Solid before proceeding.
NOTE: It is good to start this empty database early in the process. However, as you go through the remaining steps, you will learn more about what needs to be in it. You will make adjustments and make a new backup of the empty database. Expect it to be an iterative process.
Some of the topics covered:
Set up database with appropriate Writing Systems
How to set up the writing systems
Set up the sort order
Pre-initialize the Categories (parts of speech)
Set up List content
Set up Custom Fields
Some of the topics covered on this page:
A. Divide fields with multiple targets (\re, \va, \cf, \sy, \mn)
B. Verify homograph and sense numbers; add where needed.
C. Check cross references. Convert targetless ones to use a different marker (_NF).
Split etymology or borrowed word fields into multiple fields, if needed
Determine if any subentries have fields that FLEx doesn't expect in an embedded subentry
What else?
If special processing is needed (subentries of senses, tables, pictures, environments), plan for that. Depending on the nature of the processing, it may need to happen just before import, or just after import.
When the database is in good shape and the empty FieldWorks database has been prepped, it is time to do the actual import.
Expect it to be an iterative process.
Set up the empty database
Try an import
Evaluate
Make notes of what needs to be adjusted
Restore the empty database
Make the needed changes
Make a backup
Repeat
Do the import
Set up the Languages for the import
Assign SFMs to fields in FLEx
Indicate which markers begin a cluster (differences with Solid)
Set up any inline markers
Attempt an import. Repeat any above processing that is needed. Repeat until everything is in order
In FLEx, set up the sort order for the language, according to what the linguist has specified. (Can be done earlier.)
Attempt to configure some of the dictionary entries.
Decide on root-based/lexeme-based/hybrid.
Make a copy of a config.
Configure, then export.
Be prepared to teach the linguist to configure it for themselves.
Do any Bulk Edits necessary after the import: Reversals? Anything else?
Any special post-processing needed: subentries, tables, extended notes.
Prepare any logs and instructions that will be given to the linguist, for post-processing they need to do.
If the output is Webonary, configure the dictionary and upload to the site.
If the dictionary has Semantic Domains in it, configure Webonary to show or not show them, and to allow searching for them.
Verify that seaching works, especially with diacritics or special characters.
Connect them with support for the front/back matter.
Encourage them to publish as soon as the minimum front matter is in place.
If the output is Dictionary App Builder,
Encourage them to get the front/back matter in place
Prepare the files to uploaded for archive
Give the linguist the files they need, and the logs prepared for them.
Teach the linguist how to do the checking or cleanup that they need to do.