Skip to main content

Bibsonomy/Zotero plugin for managing refernces in APIS framework

Project description

APIS Bibsonomy

APIS Bibsonomy is a small addon to the APIS system. It allows to store references in Bibsonomy instances and use these references in APIS. It is very generic and should work with most Django installations/projects.

Installation

  • Install the package:

    pip install apis-bibsonomy

  • Add the package to your installed apps:

    INSTALLED_APPS = [
    ...
    'apis_bibsonomy'
    ]
    
  • And migrate your DB:

    python manage.py migrate

Some functionality from APIS Bibsonomy uses htmx, so you should include htmx into your web application.

Configuration

APIS Bibsonomy needs an URL of the bibsonomy or zotero instance, a username, a API token and an (optional) collection to search in.

You need to add a configuration section to your APIS settings:

APIS_BIBSONOMY = [{
   'type': 'bibsomomy', #or zotero
   'url': 'http://url.at', #url of the bibsonomy instance or zotero.org
   'user': 'username', #for zotero use the user id number found in settings
   'API key': 'api_key',
   'group': 'group'
}]

If you want the plugin to add the reference buttons to certain fields you need to add these fields to the config:

APIS_BIBSONOMY_FIELDS = ['name', 'first_name', 'profession']

Restart your server and you are good to go.

htmx

APIS Bibsonomy uses htmx. The delete buttons for references trigger deletion via the API delete route which give an empty response on success. HTMX needs to be configured to swap the content even if the response is empty:

document.body.addEventListener('htmx:beforeSwap', function(event) {
  if (event.detail.xhr.status === 204) {
    // Swap content even when the response is empty.
    event.detail.shouldSwap = true;
  }
});

Usage

not needed if you are using standard APIS templates

  • Include the base template somewhere in the header of your template:

{% include 'apis_bibsonomy/apis_bibsonomy_include.html' %}

  • Load the templatetag:

{% load bibsonomy_templatetags %}

  • Include the form somewhere in your template (set hidden=True if you intend to use buttons):

{% bibsonomy_form content_type='person' hidden=True %}

  • And finally add html tags as anker element for the reference forms to your template (dont forget to set "bibsonomy-anker" as class):

<button class="bibsonomy-anker" data-bibs-contenttype="person" data-bibs-object_pk={{instance.pk}} data-bibs-attribute="Attribute name (optional)">Ref</button>

  • If you want to batch add reference forms to attribute fields in a whole form add a hidden anker element. You need to additionally add the names of the form fields you want to have reference forms for to data-bibs-form-elements=""

<button class="bibsonomy-anker-hidden" data-bibs-contenttype="person" data-bibs-object_pk={{instance.pk}} data-bibs-form-elements="first_name|name|gender|start_date_written|lat">Ref</button>

Licenses

The book icon used for the reference link is the SVG from the Import Contacts icon from the material symbols

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apis_bibsonomy-0.14.0.tar.gz (39.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

apis_bibsonomy-0.14.0-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

Details for the file apis_bibsonomy-0.14.0.tar.gz.

File metadata

  • Download URL: apis_bibsonomy-0.14.0.tar.gz
  • Upload date:
  • Size: 39.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for apis_bibsonomy-0.14.0.tar.gz
Algorithm Hash digest
SHA256 ff8611778c27c044971eb0867b47e91a0fb6d92f5dc2114f67f65bb1a823147d
MD5 6ef29a8124cb611d924b861ad4645459
BLAKE2b-256 e60f913d01c7cafa21da796d8fe4a9bf987f4f8ac6e11afdd0daba755fb8d12b

See more details on using hashes here.

Provenance

The following attestation bundles were made for apis_bibsonomy-0.14.0.tar.gz:

Publisher: publish.yml on acdh-oeaw/apis-bibsonomy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file apis_bibsonomy-0.14.0-py3-none-any.whl.

File metadata

  • Download URL: apis_bibsonomy-0.14.0-py3-none-any.whl
  • Upload date:
  • Size: 21.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for apis_bibsonomy-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 81fe86cce1769b2e7ceb190fc60cf917ed82305c2c1bd5271b8d821c0b36e006
MD5 1091425873fcce37c072f15f51ac8d11
BLAKE2b-256 9a8bbbdb9e876c07506a766baf52175c8d388fb2c2b06783b8825702eadb3ea2

See more details on using hashes here.

Provenance

The following attestation bundles were made for apis_bibsonomy-0.14.0-py3-none-any.whl:

Publisher: publish.yml on acdh-oeaw/apis-bibsonomy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page