sozi-projects / Sozi-export

Export Sozi presentations to PDF or video
Mozilla Public License 2.0
20 stars 7 forks source link

proposal: ODP-export #25

Open edmundlaugasson opened 4 years ago

edmundlaugasson commented 4 years ago

As there is already proprietary PPTX supported then hereby I propose to create an ODP-export: OpenDocument Presentation - it is free and open-source presentation file format based on gzipped XML-files (similarly to PPTX), used by many programs, more at ODF technical documentation. These are Wikipedia articles where in the end are real references that are continuously updated. e.g.: sozi-to-odp [options] presentation.sozi.html (pure ODP - many XML-files in gzipped ODP-archive) sozi-to-fodp [options] presentation.sozi.html (flat ODP - single XML-document in gzipped ODP-archive)

aumouvantsillage commented 4 years ago

I agree that ODP should belong to the supported output formats for Sozi-export, but developing an ODP writer from scratch is out of the scope of this project.

In fact, Sozi-export relies on third-party libraries and converter software to work. The support of PPTX was added because there is an easy-to-use node.js module that implements it.

If a similar module exists for OpenDocument, I will be glad to use it.

ejvindh commented 4 years ago

No, there doesn't seem to be any official JS-libraries supporting odf-creation: http://opendocumentformat.org/developers/

Maybe a solution could be to make a python-based standalone-tool: http://recipes.opendocsociety.org/recipes/make-a-presentation-from-images-with-parameters-cli-options

...but this would certainly challenge the usability for Windows-users, since python is not by standard part of Windows...

edmundlaugasson commented 4 years ago

I proposed to The Document Foundation that idea but we will see whether they can and will do anything in that direction. Possibly talking with ODF developers would be better - perhaps it is worth to send an email to info@opendocsociety.org - I got that address from http://opendocumentformat.org/contact/ - perhaps you can ask more precisely, what is needed. I can only refer to current issue in GitHub but cannot explain the requirements of that plugin as I am not a programmer.

07.05.20 11:33 ejvindh:

No, there doesn't seem to be any official JS-libraries supporting odf-creation: http://opendocumentformat.org/developers/

Maybe a solution could be to make a python-based standalone-tool: http://recipes.opendocsociety.org/recipes/make-a-presentation-from-images-with-parameters-cli-options

...but this would certainly challenge the usability for Windows-users, since python is not by standard part of Windows...

edmcdonagh commented 4 years ago

@edmundlaugasson - have you tried the pptx export? Just wanted to check you knew that it just effectively prints each frame to a bitmap then has one picture per slide. You don't end up with anything editable.

aumouvantsillage commented 4 years ago

@edmundlaugasson Thanks for the initiative.

However, I do not wish to be personally involved in discussions with the Document Foundation. As I wrote earlier, I am ready to use any available solution to export Sozi to ODP, but I don't have a lot of time to spend on this specific topic.

As @ejvindh suggested, using a JavaScript library is not mandatory: Sozi-export could use any other piece of software if it can be called from node.js. As an example, Sozi-export uses ffmpeg to export to videos, and pdfjam for PDFs.

ejvindh commented 4 years ago

@edmundlaugasson -- perhaps, if ODP for some reason is mandatory for you, you might combine @edmcdonagh 's suggestion with this:

soffice --headless --convert-to odp *.pptx

(see https://www.ubuntubuzz.com/2016/08/libreoffice-command-line-convert.html )

edmundlaugasson commented 4 years ago

@ejvindh - this is the worst thing to do - through proprietary format.... It's like healing teeths through.... (you know).... ODP is not mandatory but I work exclusively only with free software (FLOSS) and therefore use only FLOSS data formats as well. It is a mindset, way to live. @senshu - well - I try to communicate with OASIS consortium. To be honest then I don't have time either - I just take that little time to send an email, but if all say so (no time) then free software will disappear. So we have to find a time at least to write. I have no detailed information what to ask - perhaps can you describe, what kind of plugin is suitable for Sozi? E.g. should it be in node.js or is any other language allowed? Or any other detail, to what requirements that plugin should correspond. I will refer to current conversation here in GitHub - so they will read it and you can write directly here and they will get it. Thank you!

ejvindh commented 4 years ago

@edmundlaugasson - please understand: You can't just write to OASIS and then think that they will create a javascript library upon request. It's not that easy.

Senshu has done a tremendous work here, created a tool for presentations, probably to a large extent in his spare time. I think it's very fair of him to prioritize his efforts due to what his personal preferences. With Sozi he has probably done more for the FOSS-community than any of us will ever do. If we want to decide for him, we will have to pay him. https://sozi.baierouge.fr/community/d/88-funding-the-development-of-new-features-for-sozi

It's fair to articulate wishes, but it is also fair of Senshu to prioritize his efforts.

If you want to stay within the FOSS sphere here, and actually I do sympathize with this effort, then you should probably simply stick with the svg/html-files that are created in the first place by Sozi -- until someone finds a javascript library, or creates it.

edmundlaugasson commented 4 years ago

I never said anything about these efforts - certainly these are very valuable. We aren't here to assess those efforts? But you cannot decide other people's efforts without knowing them at all. Still I see that currently 3 contributors are here, not only Senshu. Well, I didn't send anything to OASIS - considered and canceled that sending. Certainly SVG, HTML are fine for me and I guess for most of us and much better as ODP is not viewable in browsers like also PPTX. Just noticed that proprietary PPTX is there and thought that why ODP isn't as it is free and open-source standard. As I didn't know the background (I am also not a programmer) where those plugins come then I just proposed. Didn't notice any background explanation at converting tutorial - therefore just proposed the idea as search among existing issues didn't give any former issue on that topic. So, no hard feelings. Besides, I donated via PayPal to Sozi project, hopefully noticeable amount of money... I have to admit that the link https://api.bountysource.com/payments/paypal_return.... gave an error after payment (error message: We're sorry, but something went wrong.) and could not return from PayPal to Bountysource. Still I see from PayPal that money has been taken. Also my bank shows that money has been booked. I really hope that Sozi project received the donation despite that error message (can you confirm it?)... Hopefully you can check what's wrong there...

aumouvantsillage commented 4 years ago

this is the worst thing to do - through proprietary format

Maybe the PDF output could be used if a PDF-to-ODP converter exists.

I have no detailed information what to ask - perhaps can you describe, what kind of plugin is suitable for Sozi?

The minimal would be a library that can write ODP files from a sequence of images. This is how I proceed with the PPTX export. It is not ideal because is does not preserve vector graphics and text, unlike PDF.

Still I see that currently 3 contributors are here

Two are actually me under different nicknames :) The third one submitted a patch in 2017.

Here is some background info that can help clarify my position on this feature request:

Since I develop Sozi mostly alone in my spare time, I tend to focus on the features that I actually use, or intend to use. I can make an exception when a feature request is easy to implement or when it represents an interesting challenge and an opportunity to learn. I also accept contributions from other developers if they are consistent with the goals of the project.

I use Sozi-export to convert my Sozi presentations to videos or PDFs, but I don't personally need the PPTX output. PPTX support was added because:

For the same reasons, I will keep your feature request open until a solution is available.

Besides, I donated via PayPal to Sozi project

Thanks a lot. I will check the issue with BountySource and Paypal.

edmundlaugasson commented 4 years ago

I will try to ask from TDF (as I am member there) about what they think about ODP library (possibly they can communicate with OASIS consortium) and hopefully in future will appear that library. Probably would be there an option to engage community and find some more developers. E.g. try to engage students in universities where software programming is taught - students need also topics for thesis and some of them could remain to develop further. Possibly even some programming teachers may be interested as presenting is quite an important action in academic areas - also research and science institutions might be interested. Possibly also some companies might be interested as they are presenting as well - you can get ideas when looking who are Prezi business customers.

aumouvantsillage commented 4 years ago

Probably would be there an option to engage community and find some more developers. E.g. try to engage students in universities where software programming is taught - students need also topics for thesis and some of them could remain to develop further.

Yes. I would really like to have more people involved in developing Sozi and building a community around it.

@edmundlaugasson I have received a notification from BountySource this morning. Your donation has been correctly processed. The amount is noticeable indeed :) Thanks again for your support.

edmundlaugasson commented 4 years ago

Seems like nothing ready yet for ODP but some starting options:

@senshu - I am truly interested that Sozi will continue. I really hope I am not the only one.