Using Send/Receive
Send/Receive begins with a ‘master’ copy of the project. Someone sends it. Others receive it. Then everyone can share changes with each other.
- If multiple copies of the project exist, use imports and exports to come up with a master project which is the best version of the project. Delete the outdated copies of the FieldWorks project from other computers.
You can share all the data in the project, or just the lexicon (that is, dictionary entries). Sharing the entire project is recommended. Sharing only the lexicon uses the LIFT format and is intended for sharing with other programs that use the LIFT format such as WeSay and Lexique Pro.
- The Send/Receive Lexicon option is designed for collaborating with team members who use WeSay. Using the Send/Receive Lexicon option for sharing lexical data between FLEx users when there are no WeSay users in the team is not recommended. FLEx users should use Send/Receive Project to share the full data set, rather than using the more limited Send/Receive Lexicon, which is limited to what is covered by the LIFT format.
- You can use both kinds of Send/Receive if you are working in a team which uses both FLEx and WeSay. In this situation, it is recommended to have only one FLEx member use Send/Receive Lexicon, and then use the Send/Receive Project to share that data with the other FLEx team members.
You can share data using a USB flash drive, the Language Depot Internet server, or Chorus Hub (a shared network folder). The setup for each of these is different.
- There is minimal setup if using a USB. You must have a USB drive that can be passed around between those who are sharing data.
- To use Chorus Hub for local area network, one computer on your network needs to start the Chorus Hub program. For more information, look at the Technical Notes on FieldWorks Send/Receive.
- The remaining steps outline the requirements to set up Language Depot.
- Before using Send/Receive Internet, you need to go to Language Depot and create a user account (by clicking ‘Register’).
- Each person collaborating on the project will need an ID (which is their email address starting 11/27/2023) on the website or the manager of the project can create a ‘team’ ID that the contributors to the project can share.
- For each project you want to Send/Receive, you also need to create a repository. You might be able to do this by clicking the create button after logging into your home page on languagedepot.org or if you are not already the manager of any repositories, you can request one.
- After the repository has been created, the manager should sign into Language Depot and add members to the project so others will be able to use this repository. Members can be found based on their email address on Language Depot. (Refer to the second bullet of this section).
Once the setup has been completed, you are ready to go.
Someone sends it
The person who has the master project clicks Send/Receive > Send this Project (or Lexicon) for the first time. On the Send/Receive project dialog box, they will need to select where the project should be sent. When using Send/Receive Internet for the first time, you need to click the Settings button before you can use it, in order to enter the details of the remote server and the project’s repository id, etc.
If you want to join a Lexicon (LIFT) repository to a project you already have in FLEx, use Send/Receive > Get Lexicon and Merge with this Project.
This will create the special collaboration “repository” on the destination they choose (USB, Internet, Chorus Hub.)
Others receive it
People who want to collaborate with the master project should delete all old copies of the project on their machine and click Send/Receive -> Get Project from Colleague.
Everyone uses send/receive to collaborate
To prevent conflicts, we recommend that different people working on the project work on different parts of the project; such as a certain range of entries or certain texts. FLExBridge merges data together he best it can, but if two changes are made to the same object, one is picked and it might not be the one you want.
Once the project has been sent, and each collaborator received it the first time, all collaborators can continue to work together and share data using Send/Receive > Project, or Lexicon. The settings are saved and do not need to be re-entered. There is a toolbar button which will open the Send/Receive dialog to the last type of Send/Receive you did (project or lexicon).
The Messages (a.k.a. Conflict Report) will be displayed after Send/Receive if there are new messages to review. You can also open it at any time with Send/Receive > View Project Messages, or View Lexicon Messages, as appropriate.
- Many merge-related messages are hard to understand. This is probably going to be an ongoing area of improvement, depending on feedback – how problematic the messages are in practice.
- Send/Receive does a really good job of automatically merging data when users have changed different parts of the project. When two people have edited the same or very closely related data in the same sync cycle, send/receive keeps the data entered by the current user. A conflict message is generated and includes information of the other user’s change for comparison. If you prefer the other user’s change, you will need to copy and paste the data manually into the appropriate place in FLEx; there is not yet a tool to select one change over another and have the FLEx project automatically updated.
- If one user adds word glosses to a text at the same time as another user adds word categories to it, this will not be merged conveniently because in the FLEx database these separate pieces of data are both part of a word’s analysis.
- If one user modifies an entry, sense, etc. at the same time as another user deletes that same item, send/receive will keep the modification rather than the deletion.
If a team needs to use the global change tools in FLEx, such as Bulk Edit, merge conflicts will be reduced if the team first does a series of Send/Receives to get all sync’ed to the same state. Then one user can do the global changes, and the team then re-syncs to get those changes and continue on with their tasks.
Send/Receive is possible because of a piece of add-in software called FLEx Bridge. It cannot be used outside of FLEx. Look at its FLEx Bridge webpage for more information.
What is shared during Send/Receive
In general, actual data gets included in S/R. Specific user settings do not.
Things included in S/R:
- Everything in the fwdata file: all lexical, interlinear, grammar, research notebook, and imported scripture data, styles, custom field definitions, and list of writing systems for vernacular, analysis, and pronunciation.
- Everything in writing systems ldml files: includes collation, valid characters, and possible fonts and keyboards. Caveats: Versions of FieldWorks earlier than 9.0.14 often gets writing systems messed up due to default loading from your machine’s global writing system store instead of what other users sent. Also, without FLExBridge version 3.1.8, writing system deletions are ignored.
- All dictionary/reversal configurations: Caveats: when merging views, there is no merging within a view. One user wins, the other one loses. So multiple users should not make changes in the same S/R cycle.
- Since each colleague can be using a different view, the active view is not passed on. When doing Get Project from Colleague, it always reverts to Root-based—there is no way to tell which view colleagues are using other than asking them.
- All picture/media files that are less than 10Mb. During S/R you’ll get a blue warning if files are too big and not being sent.
- The LexiconSettings file in SharedSettings. This includes what used to be in writing systems, but was removed in FW9.0. It includes the language name and the writing system abbreviation and spell checking ID.
- .fwlayout files under ConfigurationSettings. It includes field visibility, and details for displaying data entry fields.
Things not included in S/R:
- The user-chosen dictionary/reversal view.
- Picture/media files over 10Mb (or any files not stored in the project LinkedFiles folder)
- The user lexicon settings in SharedSettings. Includes the current font and current keyboard for each writing system. Actual fonts and keyboards are part of the OS and must be installed outside of FieldWorks.
- Program settings: *.xml files in ConfigurationSettings including size and position of windows and panes, columns being shown in entries and bulk edit panes, interlinear configurations, filters, currently selected view, last tool and record used on closing, etc.