We have Opensong on our desktop computer at church, but would like to copy it over wholesale to our new laptop, whilst retaining it on the desktop. I don't want to download a fresh version and then add all the songs again, as we have too many to re-enter. How do I go about it, please? The email address to reply to is: emmanuelchurchllandudno@gmail.com
Anonymous
Hi
here are instructions how to do this.
“Old” and “new” below refers to the computer you want to copy from and the computer you want to copy to respectively.
These instructions are generic and work on all supported platform: Windows. macOS, Linux, Raspberry Pi
Overview
Basically all you need is stored in files in OpenSong’s document folder. You need to copy that folder from the old computer to the new.
Step by step
<OpenSongInstallationPath>/OpenSong Scriptureand copy the files associated with the scripture versions you find there to the corresponding folder on the new computer, or the folderScripturein OpenSong’s document folder on the new computer. “<opensonginstallationpath>” just stands in for the actual path where your OpenSong is Installed to on your machine. That will typically beC:\Program Files (x86)\OpenSongon a Windows system with 64-bit support, and/opt/OpenSongon a Debian based Linux. Scripture files typically have no file name extension, or one of .xml or .xmm, and are in a size range of 1 to 7 MB. Don't bother about the folder named ‘indexes’ you may find there. Beter create a new index on the new system. OpenSong will prompt you to do so, the first time you access that version.</opensonginstallationpath>Any references from song to song (i.e. Linked Songs) and from set to song will work on the new computer.
Any references to files outside OpenSong's Document folder are likely broken now. Depending on your settings, and the particulars of your system environment on both computers, even those references may be broken. This affects in particular:
Check and fix these.
That's all. You copied all songs, all sets, all backgrounds stored in OpenSong's background folder, scripture versions, and most of the settings, adjusted the settings, corrected broken file references, and are ready to go.
Remarks
Versions of OpenSong should be kept in sync, because otherwise you might run into trouble with songs, sets and configuration. OpenSong is fully forward compatible, i.e. a newer version can cope with data from an older version, but the other way is not given.
Obviously, newer features are not available in older versions. But because the older version id not aware of the new feature, it may discard setting regarding it. The same is true in regard to other applications, that use and extend on the OpenSong file format. One such case I am aware of is OpenSongApp, an Android app primarily for musicians.
In case General Settings, tab File locations does not display a path, but instead says "Portable installation" and the Browse button is disabled, your document folder is named "OpenSong Data" and is located where your portable installation is stored, i.e. where the application is, that you started.
If both installations will remain in use, you will likely want to keep those in sync. Different strategies may be suitable depending on your case.
Do not embed images from backgrounds, use a link, backgrounds won’t break. Otherwise you should probably make sure backgrounds will get embedded. Embedded images will bloat the size of song and set files, and will make it harder to synchronize changes between systems.Or just use a file syncing program that keeps state, i.e. knows if only one side changed or both sides changed since the files were in sync the last time. This way it will know, if the song can just be copied over the older one, or you might be loosing some important correction by doing so. Since the songs are text files (actually xml files, but kept in a way that is easily editable in a text editor, as long as you know some basics about xml and thus are able to keep the xml structure in tact, e.g. don't insert modify or delete any xml tags) you can use any diff and merge program like WinMerge, Meld, or kdiff3 to inspect and merge changes. For file and folder synchronization I used FreeFileSync and Unison with success in the past.
Cloud or network storage may be an alternative. I did not want to be dependent on the network drive being available during the service or other event. When I looked into cloud storage a long time ago, there was no satisfactory option that made sure I don't loose any changes for simultaneous changes or offline changes. So I abandoned that approach, and did not look into it anymore, other than for a central storage to sync each computer to.