I am working on a lightweight OPDS server, as komga/kavita is too much for my needs.
I have implemented OPDS v1.2 with OPDS PSE 1.1 and both download and streaming is working great.
My only issue is search. When i search in Panels only /opds/v1.2/search.xml is hit and no query is attached.
Originally i used http://HOST:8382/ as OPDS url, then /opds then /opds/v1.2/catalog but no matter what, search wont return anything. Other apps will hit /opds/v1.2/search?searchTerm= but Panels just hits /opds/v1.2/search.xml and then nothing.
Is search only supported using Komga? If i setup Komga it works without issues.
Search should work with any OPDS server implementing OpenSearch.
First, Panels looks for the link with rel="search" and type="application/opensearchdescription+xml", and follows the link to get the search descriptor. Then parses de search descriptor and looks for the tag OpenSearchDescription containing a url with template. It replaces the key {searchTerms} with the user query, and follows the resulting URL.
Awesome! Do you have an icon for your server? I’m happy to add it to the known servers on Panels, so when users connect to it, your icon shows up instead of the generic OPDS icon.
Also, just so you know, we have a #developers channel in our Discord Server. Feel free to swing by.
But, unless I’m missing something, your server is not adding the optional author tags to the feed. OPDS Catalog 1.2 | specs
I haven’t installed the server because I don’t have docker on this machine, but I took a look at the code and I saw the template for the XML does not include those tags.
We use the author name and uri to identify the server. So I made some assumptions and Panels will look for the following author tags to determine that the server is ComicOPDS.
We will include these changes in our next release. If you add those tags to your feed (the root feed is enough, that’s the one Panels uses to identify the server), your users will see the icon and server name appear on Panels.