Skip to content
This repository was archived by the owner on Nov 22, 2024. It is now read-only.

Use latest version of Kiwix serve #6

Open
kelson42 opened this issue Feb 5, 2022 · 16 comments
Open

Use latest version of Kiwix serve #6

kelson42 opened this issue Feb 5, 2022 · 16 comments

Comments

@kelson42
Copy link
Contributor

kelson42 commented Feb 5, 2022

Version 3.2.0 has just been released.

@kelson42
Copy link
Contributor Author

kelson42 commented Jan 5, 2023

Any chance to get this package updated?

@orblivion
Copy link
Owner

How will it look without the library downloader working? (See my comments on #2)

BTW I appreciate your continued interest in this package.

@orblivion
Copy link
Owner

Sorry, to clarify - If I update it, it would still need to function as a single-zim-per-grain thing, where the user uploads the zim through their browser. That works for kiwix serve before you added the catalog downloader feature. With that feature, it may confuse the user since it won't work. Is it possible to disable it for now, and at least get the latest kiwix-serve working?

@kelson42
Copy link
Contributor Author

kelson42 commented Jan 5, 2023

@orblivion I don't understand why the new OPDS API end-point would change anything for the end-user here. I would just ignore it for this ticket.

@orblivion
Copy link
Owner

I'm not worried about the endpoint on the server, I'm worried about the (as I understand) new interface in Kiwix Serve that uses it. If the user finds that part of the interface and tries to download a zim file, it won't work.

@orblivion
Copy link
Owner

Okay, reading your comment on the other issue I think I misunderstood. Kiwix Serve doesn't have any such UI, there's just an API I could use to make my own UI. So then there's no issue other than finding time.

@orblivion
Copy link
Owner

orblivion commented Jan 5, 2023

BTW your wiki page still says that kiwix isn't available in Debian. EDIT: https://wiki.kiwix.org/wiki/Debian

And it looks like the version in Debian Bookworm is 3.30, which even newer than the one you mentioned at the top of this issue. So it looks like they're fairly up to date then.

@kelson42
Copy link
Contributor Author

kelson42 commented Jan 5, 2023

BTW your wiki page still says that kiwix isn't available in Debian. EDIT: https://wiki.kiwix.org/wiki/Debian

Thank you, it's fixed.

And it looks like the version in Debian Bookworm is 3.30, which even newer than the one you mentioned at the top of this issue. So it looks like they're fairly up to date then.

Yes, we made a release in December.

@kelson42
Copy link
Contributor Author

kelson42 commented Jan 5, 2023

I'm not worried about the endpoint on the server, I'm worried about the (as I understand) new interface in Kiwix Serve that uses it. If the user finds that part of the interface and tries to download a zim file, it won't work.

Since 2019 a lot of changes have happen in kiwix-serve:

  • The top bar is provided with an iframe system
  • It provides multiple new API like OPDS or Opensearch
  • The welcome page has changed and is dynamic (javascript making call to its own OPDS API). But this is something different thant using the https://library.kiwix.org OPDS end-point to offer ZIM files to download to the users (same API but on two different instances of kiwix-serve).

@orblivion
Copy link
Owner

Oh, okay. So I think you're clearing up a confusion for me here, but let me confirm that I got it.

When you say "It provides multiple new API like OPDS or Opensearch" it sounds like you mean that such requests can be made to Kiwix Serve. I originally thought you were talking about requests from Kiwix Serve to library.kiwix.org, which is why I was asking about a new UI built into Kiwix Serve (that would not work on Sandstorm).

So let's say I'm running Kiwix-Serve locally on my home server, I load it up (somehow) with a handful of zim files, and then I use my Kiwix Android app to search and download those zim files from my home server. Is that the idea? And I guess library.kiwix.org is itself running Kiwix Serve, or something similar?

If I got that right that's really cool. Since you're targeting slow-internet areas of the world, I could see a neighborhood Kiwix Serve being the download point for everybody's phone and desktop apps. You only need to get the files to that Kiwix Serve once.

@kelson42
Copy link
Contributor Author

kelson42 commented Jan 5, 2023

https://library.kiwix.org is a kiwix-serve instance but still does not handle itself the download end-point.

@orblivion
Copy link
Owner

I forgot, I already switched to just downloading the binary from the kiwix website. Debian bookworm is pretty up-to-date, but it's still Debian testing. I'm just gonna pull the latest from your site again, which is 3.4.0.

@orblivion
Copy link
Owner

Having weird problems with Python libraries now, particularly while running inside Sandstorm. Too involved to be worth detailing here. Gonna put it aside for now.

@orblivion
Copy link
Owner

In particular I think I can't run Flask in Sandstorm. That seems kind of bad. This is the case with the apt version of flask, and the pip version of flask.

The last release of this app used the apt version of flask in Debian Stretch (9). I'm trying on Bullseye (11) now. When I pick this up I'll go back to Stretch or Buster (10) and try again.

@orblivion
Copy link
Owner

i.e. blunt force fix, I don't want to spend time debugging.

@orblivion
Copy link
Owner

So I got past the issue that I think I was dealing with above. However I'm now having trouble with file uploading. Sandstorm doesn't handle range requests, so I made an epic hack around it back then. I'm guessing either browsers or flask changed out from under me and the hack broke. Even if I get the hack up to speed, I had a lot of error handling that will probably not quite work right. I just don't think it's worth the time at this point.

I don't think new zim files work on the existing Kiwix-for-Sandstorm. I'm just going to call it broken until we get our reboot of Sandstorm (Tempest). I'll see if it's feasible to add outbound range requests. Then we can just have the backend do all of the downloading, which will be simpler for me (I'm not good with front end) and a less absurd user experience anyway (i.e. not downloading followed by uploading).

Leaving this open, but it'll be quite a while. Feel free to ping again if you're curious.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants