Skip to main content

djangoldp_tamis_onboarding

Public registration form, operator review dashboard, and Keycloak provisioning hooks for the TAMIS dataspace.

What's in here

  • RegisterParticipant model — mirrors the MediaEnterpriseCredential VC claim shape (organisation, legal address, sectoral roles, general + billing contacts) plus a state-machine lifecycle (pending → processing → approved | rejected).
  • ParticipantAttachment model — one row per supporting document (K-bis, VAT cert, PROCIREP/ISAN proofs, etc.); files land in a private storage tree scoped per participant.
  • Public multi-step registration form (/registration/) + success page.
  • Operator dashboard (/registration/admin/) — Django-side approve / deny flow.
  • Keycloak provisioning stub (keycloak_service.py) + background provisioning task (tasks.py) triggered on processing.
  • Email templates for admin notifications, rejection, and welcome.
  • ./manage.py generate_sample_documents — plausible random supporting documents for demos and testing.

Requirements

  • Python ≥ 3.10, Django 5.2, DjangoLDP 5.0
  • Pillow (logo re-encoding and sample-doc rendering)
  • python-magic + system libmagic1 (content-based MIME sniffing on uploads)
  • setuptools<80 in the host environment — DjangoLDP still imports pkg_resources, which setuptools 80+ deprecates at import time (setuptools' own warning message says "<81" but the deprecation shipped in 80.x). Pin it in your image with pip install 'setuptools<80' before installing this package.

Install

pip install djangoldp-tamis-onboarding

Add to your DjangoLDP settings.yml:

dependencies:
  - djangoldp-tamis-onboarding

ldppackages:
  - djangoldp_tamis_onboarding

Then wire the URLs under your onboarding prefix (default onboarding/):

path("onboarding/", include("djangoldp_tamis_onboarding.urls")),

Configuration

Settings read by the package (all optional except TAMIS_ADMIN_MAILS):

Setting Purpose
TAMIS_ADMIN_MAILS List of operator emails notified on each new submission.
ONBOARDING_PREFIX URL prefix the host mounts the app under (default "").
ONBOARDING_HOMEPAGE_URL, ONBOARDING_DOCUMENTATION_URL, ONBOARDING_SUPPORT_EMAIL Links shown on the success page.
TAMIS_ONBOARDING_PRIVATE_MEDIA_ROOT Directory for attachment bytes, kept outside MEDIA_ROOT so nginx can't serve them directly. Defaults to <MEDIA_ROOT>-private/.
TAMIS_ONBOARDING_USE_XACCEL When True, the operator download view emits X-Accel-Redirect instead of streaming the file. Requires an internal; nginx location /internal-attachments/ block mapped to TAMIS_ONBOARDING_PRIVATE_MEDIA_ROOT.
KEYCLOAK_BASE_URL, KEYCLOAK_REALM, KEYCLOAK_CLIENT_ID, KEYCLOAK_CLIENT_SECRET Read by keycloak_service.py (stubbed in Phase 1).

Runnable stack

The governance-services/ docker-compose stack in the TAMIS workspace bundles this package with Keycloak + Postgres + nginx for local and staging onboarding.

Sample documents

Generate plausible K-bis, VAT certificates, PROCIREP/ISAN membership proofs for manual testing:

./manage.py generate_sample_documents --output ./sample-docs --count 3 --format both

License

MIT.

Download files

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

Source Distribution

djangoldp_tamis_onboarding-1.0.6.tar.gz (44.0 kB view details)

Uploaded Source

Built Distribution

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

djangoldp_tamis_onboarding-1.0.6-py3-none-any.whl (58.4 kB view details)

Uploaded Python 3

File details

Details for the file djangoldp_tamis_onboarding-1.0.6.tar.gz.

File metadata

  • Download URL: djangoldp_tamis_onboarding-1.0.6.tar.gz
  • Upload date:
  • Size: 44.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.12.1.2 readme-renderer/45.0 requests/2.34.2 requests-toolbelt/1.0.0 urllib3/2.7.0 tqdm/4.68.4 importlib-metadata/9.0.0 keyring/25.7.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.11.15

File hashes

Hashes for djangoldp_tamis_onboarding-1.0.6.tar.gz
Algorithm Hash digest
SHA256 a15209b3fa84a17ede5ea0eb41f55272a18c44f2b187a5eeac53fa136c43ddc7
MD5 616a8cceb3a600d2312e02e2b3d85053
BLAKE2b-256 6274f6fa582a03b43580a85a1f831ce2557386f17911e3f8285707f046f07c69

See more details on using hashes here.

File details

Details for the file djangoldp_tamis_onboarding-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: djangoldp_tamis_onboarding-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 58.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.12.1.2 readme-renderer/45.0 requests/2.34.2 requests-toolbelt/1.0.0 urllib3/2.7.0 tqdm/4.68.4 importlib-metadata/9.0.0 keyring/25.7.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.11.15

File hashes

Hashes for djangoldp_tamis_onboarding-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 2396e288399fa752dba17dc2b71cb5b38da435d7335da9a45f7b7027941a6193
MD5 aafaf39c73bd2bb9c2f754efbdc53088
BLAKE2b-256 a0986199240b218d694febbd8c4cf02e2c4870849319dfbfd873235bb29cdbf4

See more details on using hashes here.

Release history Release notifications | RSS feed

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.7

2 files

This release

1.0.6 This release

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page