Chapter 6: Ding providers

Ding abstracts communication with library systems backends through the ding_provider module. Providers are currently implemented as CTools plugins, and only one provider can be active for a given provider type at any given time. Providers may have dependencies between types, for instance the loan and reservation types depends on the user provider. Provider types may have both required and optional functions (for extended functionallity).

Using a provider is a matter of calling ding_provider_invoke with the provider type and function.

Current provider types

  • Availability: Provides availability information on objects. Used by ting_availability and ting_periodical.
  • Booking: Management of object bookings. Used by ding_booking.
  • Branch: Library branch list. Used by ding_library.
  • Debt: Listing of unpaid fines and fees. Used by ding_debt.
  • Loan: Loans status and renewal. Used by ding_library_user.
  • Reservation: Listing, creation, updating and deletion of reservations. Used by ding_reservation and ding_library_user.
  • User: Integrates users from the backend system and provides basic user handling (authentication, password change and settings). Used by ding_library_user, ding_booking, ding_cart, ding_debt and ding_reservation.