<div dir="ltr">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.<div><br></div><div>Currently:</div><div>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.</div><div><br></div><div>I have the following issues with the current system:</div><div>The default save method (packaged) is very slow if lots of / large files are used.</div><div>Packaging the json file of a 'lite' service in to a zip file seems a bit pointless.</div><div>Its not very obvious that there is a choice between packaged and light</div><div><br></div><div>My proposed solution:</div><div>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.</div><div>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.</div><div>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'?</div><div><br></div><div>Compatability:</div><div>OpenLP 3.0 will continue to be able to open 'packaged' and 'lite' files saved in 2.2 and later.</div><div>Packaged files saved with 3.0 will be able to be opened in 2.4.x, The 'new lite' (.olp?) files will not.</div><div>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.</div><div><br></div><div>Are you guys happy with my proposal? Any other ideas / suggestions?</div><div><br></div><div>God Bless,</div><div>Phill</div></div>