Package: caluma-alexandria
alexandriaOur 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 complexDMSbut 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 alexandriaGetting startedInstallationRequirementsdockerdocker-composeAfter installing and configuring those, downloaddocker-compose.ymland run the following commands:# only needs to be run onceechoUID=$UID>.env

dockercomposeup-dYou can now access the api athttp://localhost:8000/api/v1/.Example dataTo load a set of categories run the following command:makeload_example_dataConfigurationDocument Merge Service is a12factor appwhich means that configuration is stored in environment variables.
Different environment variable types are explained atdjango-environ.CommonA list of configuration options which you needDjango configurationSECRET_KEY: A secret key used for cryptography. This needs to be a random string of a certain length. Seemore.ALLOWED_HOSTS: A list of hosts/domains your service will be served from. Seemore.DATABASE_ENGINE: Database backend to use. Seemore. (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 databaseAuthentication configurationOIDC_OP_USER_ENDPOINT: Userinfo endpoint for OIDCOIDC_VERIFY_SSL: Set tofalseif 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 configurationsALEXANDRIA_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 modelsData validation configurationALEXANDRIA_VALIDATION_CLASSES: Comma-separated list of classes that definecustom validationsThumbnail configuration (optional)ALEXANDRIA_ENABLE_THUMBNAIL_GENERATION: Set tofalseto disable thumbnail generationCheck the docker-compose file for an example on how to set up generation with s3 hooksALEXANDRIA_THUMBNAIL_WIDTH: Width of generated thumbnailsALEXANDRIA_THUMBNAIL_HEIGHT: Height of generated thumbnailsALEXANDRIA_ENABLE_CHECKSUM: Set tofalseto disable file checksums. Checksums are calculated after upload to allow later verification (not implemented in Alexandria)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. RequiresDEBUGto be set toTrueas well.DEBUG: Set this to true for debugging during development. Never enable this in production, as itwillleak information to the public if you do.ContributingLook at ourcontributing guidelinesto start with your first contribution.Maintainer's HandbookSome notes for maintaining this project can be found inthe maintainer's handbook.