Open gokaysatir opened 1 year ago
@juliushaertl @pedropintosilva fyi :)
Well - we could manage the download process in richdocuments itself. Perhaps with a background curl process on the webserver (run like we do CODE) - and/or get a single/simple richdocuments plugin to manage that download + stitching that all together - rather than having two richdocuments plugins. That might keep the PHP piece small and easier to download - at some cost of having to have manual downloading code that can pause and/or resume downloads.
I would expect Nextcloud has a truck-load of code to do incremental / resuming downloads though =) is there not something we can do here to improve download reliability - which also affects upgrade-ability when richdocumentscode is installed.
There is probably nothing that we can do to make it faster, as we mainly use a wrapper around curl, however I totally see that we could improve the reliability of the download process.
Currently the app downloading is somewhat error prone to webserver timeouts, which is why it is usually a good idea to install the app through the occ command, where those timeouts do not apply.
We don't have any logic in place for that but I could imagine this should be fairly straight forward to implement by doing chunked download requests based on the content-length header. The only tricky part is that apps may be deployed in a way where the app directory is not writable and the data directory might not be present in all cases (e.g. if S3 is used as a primary storage). I'll probably need to think about that a bit more.
The benefit of all of that would be of course that we could have one app release (or even ship the download logic+proxy.php in richdocuments itself) and then download the app image on the fly depending on the architecture). On the other hand this will be an extra step that would need to be taken after installation, so out of the box usage of office might not be there anymore.
Yep - another advantage is that the "online up-date" where you click 'update' in the web UI to move to a new version can get fouled up by that download timeout which is bad. So anything we can do to make the experience slicker for the user would be awesome. Thanks ! =)
Is either of below improvements possible?
This way it may be easier to set it up.
Thanks.