User guide · version 1.2
Using FLEx List Migrator
How to copy list items between FLEx projects, share them as a file, import ready-made lists, and make readable copies.
FLEx List Migrator needs FieldWorks Language Explorer 9 installed on the same Windows computer. It reads and writes projects through FLEx's own components, so it won't start without FLEx — not even to open a shared file.
Step 0
Before you start
- Windows, with FieldWorks Language Explorer 9 installed — download FLEx from SIL (opens in a new tab).
- FLEx List Migrator. Download the
.exe. It's portable: there's nothing to install, so save it anywhere and double-click it. The first time, Windows SmartScreen may warn you; choose More info → Run anyway. - Close FLEx before you load a project here. FLEx locks a project while it has it open.
- Shared project? Do a Send/Receive first. If the project you'll import into uses Send/Receive, do one in FLEx before importing, so you import into everyone's latest data. After importing, open the project in FLEx and Send/Receive again to share the new items.
- Back up the project you'll import into. In FLEx, choose File ▸ Back up this Project. The import is a single transaction, but a backup lets you undo it later if you change your mind. For a shared project, check with your team before restoring a backup: FLEx warns that restoring an old backup can send old data to everyone and lose newer changes.
Getting around
The window
- Source
- Where items come from: a FLEx Project (choose it under Project and click Load), a JSON File (choose it with Browse… and click Load), or a Template bundled with the app (choose it by name and click Load). The app opens with Template selected. Browse folder… adds projects kept outside FLEx's usual folder.
- Lists
- The source's lists. The lists this version can export and import come first: Text Chart Markers, Text Markup Tags and Text Constituent Chart Templates. Other lists are greyed out and marked (not supported yet); you can look at them but not export or import them.
- Items
- The items in the selected list. Click an item to check ☑ or uncheck ☐ it; this also checks or unchecks everything under it. Your checks are kept when you switch to another list, and the Lists pane shows how many items are checked in each. Select All checks everything In this list or In all supported lists; Deselect All unchecks every list, after asking. Expand All and Collapse All help with long lists.
- Save Transfer JSON… · Export Human-Readable…
- Save everything you've checked, from every list, as a file to share or as a readable HTML or text document.
- Target Project (Import)
- The project to import into: choose it under Project, click Load Target, then Import Items. Skip duplicates is on by default.
- Status bar
- What's loaded and what just happened, along the bottom of the window.
Main task
Copy items from one project to another
-
Send/Receive, then close FLEx
If the target project uses Send/Receive, do a Send/Receive in FLEx first. Then quit FieldWorks Language Explorer completely.
-
Load the source project
Under Source, choose FLEx Project, pick the project and click Load. The source is only read, never changed.
-
Check items in one or more lists
Select Text Chart Markers, Text Markup Tags or Text Constituent Chart Templates, then click the items you want. Switch lists to check items in the others too: your checks are kept, and each list shows how many are checked. An item is copied only if the items above it are checked too, so check a whole group by clicking its top item.
-
Load the target project
Under Target Project (Import), pick the project to copy into and click Load Target.
-
Import
Leave Skip duplicates on and click Import Items. Everything you checked is imported in one go, each list's items into the matching list in the target. The confirmation shows where each list's items will go and lists anything that will be skipped or simplified. Nothing is written until you click Yes.
-
Close the List Migrator, then open FLEx
The import is saved to the project when the List Migrator closes it: when you close the app, or when you load a different target project. Then open the project in FLEx to see the new items, and Send/Receive if you share the project.
Sharing
Share items as a file
A transfer file carries checked items and all their fields, so a colleague can import them into their own project.
Save a file
Load the source and check the items, in as many lists as you like, as in steps 1–3 above. Then click Save Transfer JSON… and choose a name. The file holds everything you checked.
Import from a file
Under Source, choose JSON File, click Browse… to pick one or more files, and click Load. A file with several lists shows each of them in the Lists pane. Check the items (or choose Select All ▸ In all supported lists), then load the target and import as in steps 4–6 above.
Each file is checked as it loads. If it has problems, it isn't loaded, and the message says what's wrong and where in the file. Smaller issues are shown as notes, and the file still loads. The status bar shows the file's format version.
Open files by dropping them on the app
Drag one or more .json files onto FLEx List Migrator.exe, or onto a shortcut to it, to start the app with them loaded. With several files, each list is labelled with the file it came from.
A colleague can also give you a copy of the app with lists already built in, or with a preload folder of lists next to it. It opens those lists by itself when it starts.
Templates
Under Source, choose Template to pick from ready-made lists bundled with the app, listed by name, such as LTTW Papua (Seth). Click Load, check the items you want, and import them like any other source.
Share your own. If you've built lists that work well for a region, a language family, a field organization, or a workshop or training course, please offer them as a template so colleagues can start from them. Save them with Save Transfer JSON…, then click Submit yours… next to the template list (or use the template form (opens in a new tab)) and attach the file.
Ready-made lists
The Download section has ready-made files, such as a set of evidentials for Text Chart Markers. Load one as a JSON source and import it.
Versions
Version 1.2 opens files saved by 1.0 and 1.1. A file with one list is saved so that 1.1 can open it too; a file with several lists needs 1.2 or later. Version 1.0 can't open files saved by 1.1 or later. To write a file by hand, see the transfer file format (opens in a new tab).
Documentation
Make a readable copy
For review, documentation, or a colleague who doesn't use FLEx.
-
Open the export
Load a source and select a list, then click Export Human-Readable….
-
Choose what and how
Set the Document title. Choose Checked items only (in all lists), or Entire list(s) and tick the lists. Choose HTML (styled; several lists get a tab each) or Plain text. Enter the writing system to show, such as
en. -
Save
Click Export…, choose a file name, and open the result.
Details
How importing works
Which list
The matching list in the target is found by its GUID, then by the kind of list (so Text Chart Markers is found even where FLEx gave the list its own GUID), then by name. If nothing matches, you choose the list.
Where the items go
Imported items are added at the end of the target list's top level, with all their subitems. To put them somewhere else, move them in FLEx afterwards: drag them in the Lists area, or use Promote and Demote. Text Chart Markers can also be moved with Move Up and Move Down.
Skip duplicates
When it's on, a checked top-level item whose name matches a top-level item already in the target list is skipped, together with everything under it. It doesn't merge new subitems into an existing item.
What's copied
- Name, Abbreviation and subitems.
- Description, including text in other writing systems and character styles.
- Discussion, with all its paragraphs.
- Status, Confidence, Researchers and Restrictions. These point to items in the target's Status, Confidence Levels, People and Restrictions lists, found by GUID or by name. One that isn't found is left out, and the notes say which.
Text in a writing system the target project doesn't have isn't imported, and the notes say so. Add the writing system in FLEx first if you need that text. Dates and other fields that FLEx manages itself aren't copied.
Which lists
This version exports and imports Text Chart Markers, Text Markup Tags and Text Constituent Chart Templates. Other lists (Parts of Speech, Semantic Domains, entry types, custom lists and more) can't be exported or imported yet. Support for them may come in a future release; see the known issue (opens in a new tab).
Tips
Text Chart Markers in the chart
- Each top-level marker group becomes a Mark … command in a Text Chart cell's menu (for example, Mark Evidentials), and its subitems become submenus.
- Only items with no subitems can be chosen. An item that has subitems is just a heading in the menu.
- The chart cell shows the chosen marker's abbreviation, coloured and in parentheses; the menu shows Name (Abbreviation). Keep abbreviations short and distinct, and enter them in the project's default analysis writing system.
Help
Troubleshooting
“FLEx Not Found” when the app starts
FLEx List Migrator couldn't find FieldWorks Language Explorer 9 on this computer. Install FLEx 9 from SIL, then start the app again.
“This project is in use by another program”
FLEx, or another program, has the project open. Close FLEx completely and click Load again.
I don't see the imported items in FLEx
Close the List Migrator first. The import is saved when the app closes the project. Then open the project in FLEx.
A list is greyed out and says “not supported yet”
This version exports and imports only Text Chart Markers, Text Markup Tags and Text Constituent Chart Templates. You can look at other lists, but their buttons stay disabled.
“Can't Load JSON”
The file isn't a transfer file, or it has problems. The message lists each problem and where it is in the file (for example items[0].daughters[2].discussion[1]). A file saved by a newer version of FLEx List Migrator needs that version to open it.
Notes before or after importing
They list what couldn't be copied exactly:
- Items already in the list are skipped.
- Writing systems the target lacks: the text in them isn't imported. Add the writing system in FLEx and import again.
- Character styles the target lacks: the text is imported without the style.
- Status, Confidence, People or Restrictions items the target lacks: that reference is left out. Add the item to that list in FLEx if you need it.
Windows says “Windows protected your PC”
SmartScreen warns about apps it hasn't seen often. Choose More info → Run anyway. The download comes straight from the project's GitHub releases.