garybentley / quollwriter

Quoll Writer - A writing application that lets you focus on your words.
https://quollwriter.com
Apache License 2.0
166 stars 22 forks source link

Export project #20

Open Estrobeda opened 2 years ago

Estrobeda commented 2 years ago

Currently you can export to word and such from Quill writer but if you are working on two computers, it's currently not possible as far as I am aware to move the project from one computer to the next with full integrity.

Best I've been able to accomplish has been to export each object and chapter to word and then manually re-create the entire project.

It would be neat if the entire project would be saved as a compressed file or something instead of having a local database that contains all projects and info so you can easily copy the project to another computer and know that it will open up identically.

Alternatively it would be awesome to simply be able to export all the project data, IE chapters, characters, custom objects, locations etc and then be able to import a whole quoll writer project for the same effect.

Estrobeda commented 2 years ago

My java skills are pretty poor although I admit I've thought about trying to fix this myself because I think it's quite important. I can however say that the thought I got that could perhaps make this possible is to add an abstraction between the database. Because as it is now, it seems that the projects and everything is saved in the local database but I guess my idea would be to add another option, to save the assets and data in XML or Json and then ZIP it, similar to what ODF, ODT, NWD etc does it. Then when you open the project file, everything is self contained.

An alternative solution would be to not mix any projects with eachother, I'm not entirely sure how the data storing logic works but it seems to me like each project is hard linked to the local db, so there's basically 2 db's one for the program itself and one for the book you're writing. From my "investigation" (looking in the db's" it seems that some project stuff gets stored in the program db, such as the project name and some other stuff so you can't have your project as "standalone". If everything, project names, chapters, various assets etc would be stored in the same db then that could be the file to import from to achive the same result.

But yeah, this task is a bit beyond my capabilities unfortunately. If only it was C, C++, C# or Rust....