[openlp-dev] Saving services

Philip Ridout phill.ridout at gmail.com
Thu Nov 30 03:43:14 EST 2017


I have been looking at how OpenLP saves and loads its service files as part
of my pathlib and cross platform file handling refactors. I would like to
make a few changes.

Currently:
OpenLP defaults to packing all the service item files in to a zip file, the
actual service is saved as a json in a file that is also packaged. There is
an option of saving a 'lite' service, which is just the json file zipped.

I have the following issues with the current system:
The default save method (packaged) is very slow if lots of / large files
are used.
Packaging the json file of a 'lite' service in to a zip file seems a bit
pointless.
Its not very obvious that there is a choice between packaged and light

My proposed solution:
Packaging files in a zip file is great if somebody prepares a service at
home. However, in my experience (10 years) this has never happened! Lets
make the 'lite' option the default, this would make OpenLP faster saving
files which are not going to be transported.
Lets make the option to package a service file more visible, and place a
separate menu item for it next to save in the file menu.
When saving a 'lite' service, lets just save the json in a text file and
not worry about zipping it up. While were at it, it might make sense to
change the extension. '.olp'?

Compatability:
OpenLP 3.0 will continue to be able to open 'packaged' and 'lite' files
saved in 2.2 and later.
Packaged files saved with 3.0 will be able to be opened in 2.4.x, The 'new
lite' (.olp?) files will not.
Some users may be caught out by the change to saving a lite file by
default, so when they use the save as dialog we could display a message box
about the changes.

Are you guys happy with my proposal? Any other ideas / suggestions?

God Bless,
Phill
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openlp.io/pipermail/openlp-dev/attachments/20171130/f1ee4237/attachment.html>


More information about the openlp-dev mailing list