Possibility of syncing FLEX between two (or more) computers?

20 views
Skip to first unread message

Jonathan P

unread,
Nov 6, 2009, 1:57:07 PM11/6/09
to FLEx list
I am wondering if it would be possible to sync FLEX projects between
two computers using a utility like Windows Live Sync, Live Mesh,
Mobile Me, or other such programs. I understand that two copies of
the database can't be edited at the same time, but if one were
vigilant about having FLEX open on only one computer at a time, would
it be possible to set up the Sync utility to sync a set of folders,
and then expect FLEX to work on each computer (ie, a laptop and a
desktop). I can see that FLEX would need to be installed on each
computer, and that the correct fonts and keyboard settings would need
to be the same across the computers. Also, I imagine, the username
and path structure would need to be mirrored across the two computers.
Also, the "external links" folder would need to be created and in the
same place for both. Beyond that, can anyone suggest what other
folders would need to be shared? I wonder if, because of the SQL
server aspect of FLEX's operation, there would also be files that
ought not to be synced (ie., because they might contain computer-
specific information necessary to the proper functioning of the
software).

Currently I have been saving backups to a synced folder, and then
restoring from the backup each time I open on a new machine. But that
seems a bit dangerous, because I often forget to do a backup upon
leaving FLEX, and might then make changes to the version on the other
computer....

Thanks very much for your help/advice!
Jonathan

Susanna

unread,
Nov 6, 2009, 8:16:31 PM11/6/09
to FLEx list
Hi Jonanthan, are the two computers on a local network? If so, you can
simply use and edit the same database over the network. (-: There are
instructions in the help file - look in the index for "network". There
is an extra step to get through a firewall.
-Susanna

Jonathan

unread,
Nov 6, 2009, 11:53:31 PM11/6/09
to FLEx list
I ditto Susanna. We are using multiple users on multiple machines
opening and editing the same database from a different machine. The
settings from the machine that the DB resides in has the settings and
will use those. One note of caution you must do the backups on the
home DB machine. It will not work to do a backup from another
machine. That is a functionality that I would like to see some day.
I didn't even know to ask for it until recently. We are just running
a network through our modem. Hope this helps.

Jonathan D.

Jonathan P

unread,
Nov 7, 2009, 8:28:57 AM11/7/09
to FLEx list
Hi and thanks for the replies--

In my situation, my intention is not actually to work on a networked
version of the database, although prompted by your responses I've
looked into this a bit more.

Basically, the two machines are occasionally on the same network,
which is to say that most days the laptop and desktop are connected to
a router (the laptop wirelessly), and appear as part of the same
network. Sharing is enabled on both computers, the usernames and
passwords are the same, and it is possible for the laptop to access
and make changes to files stored on the desktop. So on those
occasions when the computers are in the same place, it would be
possible for the laptop to access the database on the desktop and
could use the FLEX database, etc.

However, my question was aimed more at those times when I'm traveling
with my laptop (especially when I'm in the field). Then, there is no
network, and indeed no internet connection. What I'd like to do is to
maintain the laptop and desktop in sync with one another, so that
their files and settings remain the same. Programs like Windows Live
Sync (which I use) basically will keep folders on two or more
computers in sync, checking in both locations to see which one has the
most recent version of a given file, and updating changed files each
time both computers are connected to the system (it acts as a peer to
peer network in that situation). Essentially, it automates the task
of taking the most recent database and other files from the most
recently used computer and transferring them to the proper location on
the other system, a process that I currently do by backing up on the
recently used system and restoring on the other.

Following Susanna's advice, I looked into the index of FLEX's help
files, under networking>collaboration limitations, and found an
instruction noting that synchronizing is not supported, because there
is no utility within FLEX that can compare versions, highlight
differences, and merge entries back and forth across machines.
Thinking about this a bit, though, it does seem that for one user,
using two machines consecutively (and not simultaneously), as long as
the database changed on only one machine, and was then transferred by
a sync utility prior to being opened on the other machine, no entries
would be lost in the process (and the same goes for the other files
that need to be the same, ie., those files listed in the
"collaboration limitations" page -- settings files, keyman files
etc.). Using the database consecutively, there is no need for two-way
updating, in which records are compared and only the latest changes to
each are preserved. Rather, the same database is being updated first
on the desktop, then on the laptop...

I'm tempted to try to set it up, but I wonder if I may be overlooking
something.

Thanks again for your responses and help,

Jonathan (P)

Dennis Walters

unread,
Nov 7, 2009, 9:58:11 AM11/7/09
to flex...@googlegroups.com
Jonathan P wrote:
>
> However, my question was aimed more at those times when I'm traveling
> with my laptop (especially when I'm in the field). Then, there is no
> network, and indeed no internet connection. What I'd like to do is to
> maintain the laptop and desktop in sync with one another,

I had a similar situation where I was traveling sometimes. Two things
helped me.

First, I stopped using the desktop machine and got a docking station for
my thinkpad. That let me use the more ergonomic set up when I was home,
without having to sync any files between those two machines.

Second, to allow both my wife and I access to the FLEx data when we
needed it, we used Backup and Restore to put the live copy of the
database on the machine where it was needed. Sometimes I took it with me
on the road. Other times I left it on my wife's computer. Of course this
forced the choice of one or the other of us making changes to the data
during the days I was away, but not both. Also, we had to keep a clear
head about where the live data resided.

One other thought, depending on what you do while "in the field". If you
are mainly gathering new data, you might consider using a different tool
to gather text or lexical items and add them to FLEx after you get home.
WeSay is a tool that is designed to feed remotely collected lexical
data to FLEx. Don't know if this fits your situation though.

Dennis Walters

Jonathan P

unread,
Nov 23, 2009, 9:22:59 AM11/23/09
to FLEx list
So, I've now tried to set synching up (on two Windows 7 computers),
and have run into a problem.

After backing up everything (so I could re-install if all goes wrong),
I deleted the contents of the folder C:\ProgramData\SIL\FieldWorks
\Data on the laptop computer, and then set up my sync program to keep
that folder synced. Because that is the folder where project files
are stored, my intention was to have the project file synced after
each use on either computer. However, most of the files in the
folder, including the project files, did not sync.

My guess is that this is a permissions issue: that these files are
accessible only to administrators and to the SQL Server program. It
seems that Windows Live Sync does not in fact enjoy that level of
permission, and is thus not able to copy the file and move it...

I am not by any means an expert on all of this, so I think I'm stuck
here and will have to go back to trying to remember to create a backup
after each use, and then restore from backup after each time switching
computers. I think I am likely failing to follow this protocol every
time, and may be missing additions, edits, etc., completed on one
computer but not backed-up and restored to the other. Alas...

If anyone has ideas on how to make this work, I'd be grateful. As
always, I remain very impressed with Fieldworks!
Jonathan

Steve Miller

unread,
Nov 23, 2009, 11:46:24 AM11/23/09
to flex...@googlegroups.com
Hi Jonathon,

Jonathan P wrote:
> So, I've now tried to set synching up (on two Windows 7 computers),
> and have run into a problem.
>

We have not tried the sync mechanism on Windows 7. Can you fill us in
what is involved with that? Later in the message you mentioned Windows
Live Sync. Is that what you were using?

You're not trying to sync edits that you have done on both machines,
right? For example, you edit the data on your laptop, and your wife
edits data on her laptop, and now you are trying to merge the two sets?
If so, we are talking about a whole different matter.

> After backing up everything (so I could re-install if all goes wrong),
> I deleted the contents of the folder C:\ProgramData\SIL\FieldWorks
> \Data on the laptop computer

I'm surprised that you managed to delete the files of that directory.
Usually the database engine, SQL Server, has those in use, and refuses
to give you the opportunity to do that. Typically you have to shut down
the database engine first. But maybe you did that? Or maybe Windows 7
has some smarts built into it to handle that.

In any case, you deleted at least an .mdf and an .ldf file, correct? SQL
Server can manage the loss of the .ldf--it will create a new one as
needed--but the .mdf is a different matter. This file holds the entire
data of the software application, which in this case is FieldWorks
(including FLEx). You must first /detach/ it from the database engine
before trying something like that. If you don't, you will most likely
confuse the database engine, because it thinks the file still exists.

We have a command line utility, db, that ships with the product to do
this sort of thing, but I do not recommend using it. It's way too easy
to shoot yourself in the foot unless you really know what you're doing,
and even as a developer I prefer not to use it. I personally prefer to
do it through SQL Server's Management Studio; the express version of
that is available to you for download, but I don't recommend that, either.

> I think I'm stuck
> here and will have to go back to trying to remember to create a backup
> after each use, and then restore from backup after each time switching
> computers.
Backup and restore is really the best way to pass your files around.
It's good to get into the habit of backing up periodically, anyway.

> As always, I remain very impressed with Fieldworks
Thanks. That's always good to hear. :-)

Your research interests sound interesting. Even though my father was not
a farmer, I have spent much of my life in rural Michigan, and grew up
among corn and soybeans, wheat and alfalfa. I am often surprised how
disconnected from the land and agriculture most Americans are, and can't
help but feel they have lost something.

Steve

Steve

Jonathan

unread,
Nov 23, 2009, 12:34:35 PM11/23/09
to FLEx list
Awesome. Have you tried running your sync program as admin? You
would right click on it and then tell it run as admin....or at least
in Vista that is how it works. There should be a way to do this. I
hope you find it.

Jonathan D.

Jonathan P

unread,
Nov 23, 2009, 1:25:17 PM11/23/09
to FLEx list

Thanks Steve and Jonathan D.,

In response to Steve's questions:

" We have not tried the sync mechanism on Windows 7. Can you fill us
in
what is involved with that? Later in the message you mentioned Windows
Live Sync. Is that what you were using? "

I am using Windows Live Sync, which is free and allows syncing of
folders. As long as user names, drive letters, and folder structure
is the same on both computers, it can work with files where the path
name must be maintained (ie., in this case, both computers would store
SIL's data files in exactly the same location, as both are Windows 7
computers and I work under the same username on each).

"You're not trying to sync edits that you have done on both machines,
right?"

Right -- basically, I have one database and I am the only user.
Currently I've returned from an extended period of field research and
I have a lot of material in Word files, including notes on language
(word definitions, etc) that I manage with FLEX. As I go through
these word documents, I enter material into FLEX. Usually I work on
my desktop, but sometimes I am on the road with the laptop. Prior to
leaving, and after returning from trips, I sync data across the two
computers. So, essentially, I pass the same database back and forth,
and use it serially first on one computer and then on the other.
Unfortunately, I often forget to backup my project, especially on my
desktop, prior to going out on the road.

"I'm surprised that you managed to delete the files of that directory.
Usually the database engine, SQL Server, has those in use, and refuses
to give you the opportunity to do that. Typically you have to shut
down
the database engine first. But maybe you did that? "

Hmmm, not sure about this. I deleted to files when Fieldworks was not
running (but I don't know if the database engine was running in the
background anyway?). My guess was that Fieldworks would have to be
off, for just the reason you mention, ie., that if the files were in
use they could not be accessed/copied/written. The intention is to
have the files sync after each save/exit, and not during use (ie., not
real time synching of entries on simultaneously running instances of
fieldworks). For this reason, there would always have been .mdf
and .ldf files in existence in the folder, and Fieldworks / SQL would
never have to create a new one.

Jonathan D.: I will look at whether it is possible to get Live Sync
to run as an adminstrator, although it operates very much in the
background (it starts up with startup programs, and keeps folders in
sync by continually monitoring them and then insuring that the synced
folders on each computer always have the latest version of a a given
file). Thanks.

So, I think for now I will stick with the Backup/Restore process,
although sync-ing, and cloud computing generally, would be an
interesting future direction for Fieldworks. If anyone figures out
how to do this, though, I'd be grateful for your help.

Thank you,
jonathan

Steve Miller

unread,
Nov 23, 2009, 6:18:56 PM11/23/09
to flex...@googlegroups.com
Jonathan P wrote:
> So, I think for now I will stick with the Backup/Restore process,
> although sync-ing, and cloud computing generally, would be an
> interesting future direction for Fieldworks.
We have on the books to try to do soon is a more intricate form of
syncing, between more than one person. This should include the sort of
sync you want. Wish us well, because this a pretty demanding nut to crack.

Steve

Jonathan P

unread,
Nov 24, 2009, 8:34:30 AM11/24/09
to FLEx list


Steve Miller <steve_mil...@sil.org> wrote:

>
> We have on the books to try to do soon is a more intricate form of
> syncing, between more than one person. This should include the sort of
> sync you want. Wish us well, because this a pretty demanding nut to crack.
>
> Steve

Good luck!
Reply all
Reply to author
Forward
0 new messages