Subversion (svn) is a way of collaboration. Several users of Bibledit will all connect to the same Subversion repository, and thus share the data. If somebody makes a change, within a short time that change will propagate to the other users.
Subversion can be used if two or more different users, using different computers, simultaneously work with Bibledit on the same data.
In the example below we will setup a basic system using one server and two users.
Collaboration using Subversion needs one computer that will be the server. This can be a separate computer, or the computer of one of the users. In this example we will use the computer of one of the users. By doing so we only need two computers to demonstrate everything. We will use Jim's computer to serve the repository. On this computer, do the following to setup the server.
Login as user jim.
Open a terminal
To create the repository, type
svnadmin create /home/jim/repository
To make the repository available to the network, type
svnserve -d
To test access to the new repository, type
svn ls svn://localhost/home/jim/repository
No errors should occur and no files should be listed because the repository is still empty.
With svnadmin you created the repository. It is in Jim's home directory, subdirectory "repository".
With svnserve you serve it making it available to others. If the computer reboots, you will need to type this command again. It might be helpful to put this command in the boot script.
With svn ls you list the files it contains.
We are now going to setup the first user. This will be Jim in our example. His computer already is used as a server, but Jim also works on it using Bibledit.
Jim starts Bibledit, and opens the project he wishes to share with others.
He goes to menu Preferences / Subversion repository.
In that dialog, he ticks "Remote external repository".
Under "Repository path", he enters svn://localhost/home/jim/repository
He leaves username and password empty, because this repository does not use any credentials for access control.
In the dialog he verifies that write access has been granted.
He then ticks "Overwrite remote repository with local data". This is to export his project and put it in the repository so other people can access it too.
He then clicks OK, and waits till Bibledit is through with exporting the data.
This finishes the setup of the first user. Jim can now work on Bibledit as before, and his data will be automatically updated in the repository.
We are now going to setup the second user. This will be John in our example. He uses another workstation, is connected to the network, and can access Jim's computer through that network.
John starts Bibledit, and creates a new empty project, named after the project that Jim put in the repository.
He goes to menu Preferences / Subversion repository.
In that dialog, he ticks "Remote external repository".
Under "Repository path", he needs to enter the name of Jim's server.
He asks Jim for the IP address of his computer. Jim logs in as root, and types ifconfig, notices under "eth0" that his computer has IP address 192.168.0.6. He passes this number on to John.
Under "Repository path", John enters svn://192.168.0.6/home/jim/repository
He leaves username and password empty, because this repository does not use any credentials for access control.
In the dialog he verifies that write access has been granted.
He then ticks "Overwrite local data with remote repository". This is to import all data from the repository into his own project.
He then clicks OK, and waits till Bibledit is through with importing the data.
This finishes the setup of the second user. John can now work on Bibledit as before, and his data will be automatically updated in the repository.
Setting up a third user, a fourth, and so on, goes exactly the same.
Now we come to the purpose of everything, which is working together on one project.
This collaboration is very simple: Just work on your data as you did before.
Bibledit cares for everything, and everything will be updated and shared automatically.
On rare occasions you might notice a dialog when Bibledit recommends you to re-open the project because of the changes made by other users. This might happen if the change is in the chapter you are now editing, or if somebody added or removed a book or chapter. But this is really all that is visible, the rest is done automatically. And of course, you notice changes in your data that you didn't put in yourself. Others did that.
More information about Subversion is available at http://subversion.tigris.org. In particular the book "Version Control with Subversion" is recommended. Available online at http://svnbook.red-bean.com and at http://svnbook.org.
Use dialog View / Subversion tasks to see what it actually does. Most of the times there should be no pending tasks anyway, because tasks will get done immediately. On a slow network you might see some tasks pending. Or if you happen to be offline, tasks will accumulate till such time that you get online again.
For worldwide collaboration, a server can be set up on the internet, and used by all parties.