Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Opds categories feed #492

Merged
merged 26 commits into from
Jun 8, 2021
Merged

Opds categories feed #492

merged 26 commits into from
Jun 8, 2021

Commits on Jun 8, 2021

  1. Broke Server.404 with /catalogBLABLABLA/root.xml

    The new negative test-point demonstrates that Kiwix server doesn't
    distinguish /catalogBLABLABLA from /catalog.
    veloman-yunkan committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    0a3d293 View commit details
    Browse the repository at this point in the history
  2. Fixed handling of /catalogBLABLA/root.xml & alike

    Also removed an unneeded namespace qualifier.
    veloman-yunkan committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    5b272ac View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1e0ff1f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    54b78ea View commit details
    Browse the repository at this point in the history
  5. Serving /catalog/v2/root.xml

    Note: This commit somewhat relaxes validation of non variable
    `<updated>` elements in the OPDS feed - the contents of any `<updated>`
    element is replaced with the YYYY-MM-DDThh:mm:ssZ placeholder.
    veloman-yunkan committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    3c3cf08 View commit details
    Browse the repository at this point in the history
  6. Library::getBooksCategories()

    Note: no unit test added
    veloman-yunkan committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    b259afa View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2e53b51 View commit details
    Browse the repository at this point in the history
  8. Fixing the xenial build

    Under Ubuntu 16.04/xenial, ccache seems to have issues with multiline
    raw string literals used inside macros.
    veloman-yunkan committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    a1520ce View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    feeb9f2 View commit details
    Browse the repository at this point in the history
  10. Enter InternalServer::m_library_id

    The new field is intended to serve as a seed for generating semi-stable
    OPDS feed ids that only need to change when the library is updated.
    veloman-yunkan committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    92c2de8 View commit details
    Browse the repository at this point in the history
  11. Serving /catalog/v2/entries

    /catalog/v2/entries is intended to play the combined role of
    /catalog/root.xml and /catalog/search of the old OPDS API. Currently,
    the latter role is not yet implemented.
    
    Implementation note: instead of tweaking and reusing
    `OPDSDumper::dumpOPDSFeed()`, the generation of the OPDS feed is done via `mustache`
    and a new template `static/catalog_v2_entries.xml`.
    veloman-yunkan committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    19b59fd View commit details
    Browse the repository at this point in the history
  12. Reordered several statements

    Reordered several statements so that the next couple of commits are a
    little simpler.
    veloman-yunkan committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    208dece View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    4aa3c79 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    70d42ae View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    b60e3ff View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    07252a1 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    dfad1c3 View commit details
    Browse the repository at this point in the history
  18. /catalog/v2/entries going through OPDSDumper

    OPDSDumper sensed threats to its job security, so it lobbied to be
    involved in handling the /catalog/v2 endpoints, too.
    veloman-yunkan committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    cdacc0c View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    9ca6bd0 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    f886c8c View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    f179799 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    fa42cbc View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    312f2cb View commit details
    Browse the repository at this point in the history
  24. OPDSDumper::dumpOPDSFeed() works via mustache

    This changes the output of `/catalog/search` as follows:
    
    - Entire search query (rather than only the value of the `q` parameter)
      is put in the <title> node.
    
    - Search performed with an empty query presents itself as "All zims".
    
    - The feed id remains stable for identical searches on the same
      library.
    veloman-yunkan committed Jun 8, 2021
    Configuration menu
    Copy the full SHA
    e799f2f View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    dd60235 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    78083f1 View commit details
    Browse the repository at this point in the history