Document management service
Project description
alexandria
Our goal is to implement an external document management service to hold and provide uploaded documents. Documents can be uploaded and, depending on user access, managed by internal as well as external users.
The goal is NOT to re implement a complex DMS but rather to have a simple and user-friendly way of managing documents with different permissions.
All User Interface interactions should be as simple as possible and easily understandable.
Original RFC that led to alexandria
Getting started
Installation
Requirements
- docker
- docker-compose
After installing and configuring those, download docker-compose.yml and run the following commands:
# only needs to be run once
echo UID=$UID > .env
docker compose up -d
You can now access the api at http://localhost:8000/api/v1/.
Example data
To load a set of categories run the following command:
make load_example_data
Configuration
Document Merge Service is a 12factor app which means that configuration is stored in environment variables. Different environment variable types are explained at django-environ.
Common
A list of configuration options which you need
- Django configuration
SECRET_KEY
: A secret key used for cryptography. This needs to be a random string of a certain length. See more.ALLOWED_HOSTS
: A list of hosts/domains your service will be served from. See more.DATABASE_ENGINE
: Database backend to use. See more. (default: django.db.backends.postgresql)DATABASE_HOST
: Host to use when connecting to database (default: localhost)DATABASE_PORT
: Port to use when connecting to database (default: 5432)DATABASE_NAME
: Name of database to use (default: alexandria)DATABASE_USER
: Username to use when connecting to the database (default: alexandria)DATABASE_PASSWORD
: Password to use when connecting to database
- Authentication configuration
OIDC_OP_USER_ENDPOINT
: Userinfo endpoint for OIDCOIDC_VERIFY_SSL
: Set tofalse
if you want to disable verifying SSL certs. Useful for developmentOIDC_DRF_AUTH_BACKEND
: Overwrite the default authentication backend with your ownALEXANDRIA_OIDC_USER_FACTORY
: Overwrite the default user with your ownALEXANDRIA_CREATED_BY_USER_PROPERTY
: Overwrite the default user property which is used for..._by_user
(default: username)ALEXANDRIA_CREATED_BY_GROUP_PROPERTY
: Overwrite the default group property which is used for..._by_group
(default: group)
- Authorization configurations
ALEXANDRIA_VISIBILITY_CLASSES
: Comma-separated list of classes that define visibility for all modelsALEXANDRIA_PERMISSION_CLASSES
: Comma-separated list of classes that define permissions for all models
- Data validation configuration
ALEXANDRIA_VALIDATION_CLASSES
: Comma-separated list of classes that define custom validations
For development, you can also set the following environemnt variables to help you:
ALEXANDRIA_DEV_AUTH_BACKEND
: Set this to "true" to enable a fake auth backend that simulates an authenticated user. RequiresDEBUG
to be set toTrue
as well.DEBUG
: Set this to true for debugging during development. Never enable this in production, as it will leak information to the public if you do.
Contributing
Look at our contributing guidelines to start with your first contribution.
Maintainer's Handbook
Some notes for maintaining this project can be found in the maintainer's handbook.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file caluma_alexandria-2.0.1.tar.gz
.
File metadata
- Download URL: caluma_alexandria-2.0.1.tar.gz
- Upload date:
- Size: 39.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06f7d43a9aa2ac1cb2a8c96ea61bed08764e7780ae21f6a13b46fda45bd22088 |
|
MD5 | 9c2a64eb45e4a4f6d857e09902402624 |
|
BLAKE2b-256 | b79e8b7209c119a451ff37acbba87f38dc38322b732ddb7a309c90d2e70fa4db |
File details
Details for the file caluma_alexandria-2.0.1-py3-none-any.whl
.
File metadata
- Download URL: caluma_alexandria-2.0.1-py3-none-any.whl
- Upload date:
- Size: 46.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0511f4b54ea00e0044d3eb010716289d9d20d879ca4ce77beefc3f3c6be49ba |
|
MD5 | 5decfbe723d8dc7839cb2063397a160e |
|
BLAKE2b-256 | c61b616e7ae3e0b4cce318637090a8976cfa33e111e5e5efcb0d61a033cb2a28 |