Something of a guide
Too much fluff and 1001 accounts are annoying, that said some integration could be considered similar to how Microsoft office or other application integrates with dropbox.
The developers don’t have to reinvent the hot water or syncing, the cloud services work just fine and are sufficient as they are and we can make it work easily with a proper step by step guide for example.
One of the problems of integration custom integration would be to have to write this for each individual service, so it’s best to keep it very very basic.
Step 0: When you install quelea all of your settings and profiles etc. is stored in:
On Linux should be:
MAC … (don’t know)
Step 1: Assuming this is the first installation or the one you want to sync to other computers
MOVE this folder to a shared location of your choice.
This could be a cloud service: Dropbox, MEGA, OneDrive.
Could be: NAS or Network directory on the local network.
Step 2: Create a link from the shared location to the original location.
To do this I just made a little script that you don’t have to use but it works.
You have to run as an Administrator to be able to create the soft link and there must not be a preexisting directory or a link.
The script checks stuff and gives you the appropriate commands to paste and run as admin.
REM == To run as Admin ==
REM powershell -c start -verb runas cmd '/c start /D "%CD%" bash.exe'
REM == Set variables ==
set newVideo="%CD%\..\Videos Backgrounds"
REM == Display Initial instructions and directory ==
echo To generate the correct comand this script has to be placed in the shared settings directory ".quelea".
echo Current dir [%newp%]
REM == Checking if default Quelea settings directory or soft link exists. ==
echo Checking if default [%oldp%] exists.
REM IF exist %oldp% ( DEL /F/Q/S %oldp% > NUL && RMDIR /Q/S %oldp% && echo Quelea old settings dir [%oldp%] removed - OK ) ELSE ( echo Quelea settings dir [%oldp%] not found - OK! );
IF exist %oldp% ( echo Please delete Quelea default settings directory or existing soft link [%oldp%] ! && pause && exit ) ^
ELSE ( echo Quelea default directory [%oldp%] not found - OK! );
REM == Change dir just in case ==
echo New path set to [%newp%]
REM == Make link ==
REM set dispCmdQueleaSettings=mklink /h %oldp% %newp% REM == hardlink version
set dispCmdQueleaSettings=mklink /d %oldp% %newp%
set dispCmdVideoBackgrounds=mklink /d %oldVideo% %newVideo%
REM Display Output
echo Copy and RUN as Admin:
echo If link exists for [%oldVideo%] please delete it and run the following command:
Step 3: Test if it works. Open Quelea and check if everything works as intended.
Step 4: If you want or need to set permissions on the files (i.e.) you might not want certain PC(s) to be able to have write access. Therefore they can open and read the database but not write to it.
Personally, I don’t bother and you can just repeat Step 2 on any other computer.
Onedrive, or any other cloud service, should be fine.
The reason dropbox didn’t work for me, as I already mentioned, creating conflicts.
You can work as normal but avoid editing songs or inserting new songs at the same time.
Under normal read operation or opening, a schedule will not update the database.
What you likely want to avoid is to edit the same song on 2 different computers because the changes coming from 1 would be overwritten by the other.
Anytime you press “edit song” the database will be updated and the edits will go at the end of the database.
Therefore what the developers can do is make sure before the database file is overwritten, quelea is updated immediately before with the database immediate before the write operation.
If Quelea is open for a long time it is reasonable to expect in this context to have some alterations of the database file in storage to what is currently loaded in RAM.
A simple check of the last access or modification date and time would be sufficient.
That allows multiple people to “kind of” work and edit multiple different songs at the same time and edit or save them as long as they don’t hit save within a few seconds of each other, while the syncing service catches up.